C语言中的#include <stdio.h> 跟C++中using namespace std;有什么区别
C语言中的#include<stdio.h>跟C++中usingnamespacestd;有什么区别?C语言里面好像没有Vector概念,但C++里有,求大师前来解答...
C语言中的#include <stdio.h>
跟C++中using namespace std;有什么区别? C语言里面好像没有Vector概念,但C++里有,求大师前来解答 展开
跟C++中using namespace std;有什么区别? C语言里面好像没有Vector概念,但C++里有,求大师前来解答 展开
5个回答
展开全部
using namespace std是C++的一个标准命名空间
可以自己定义命名空间,如:
using namespace aa;
C++引入命名空间主要是用来解决不同文件中全局变量的重名问题
比如一般大型的项目开发是由多个人一起完成的,每个人编写自己的一部分
最后再由一人把这些别人编写好的程序引用过来使用
例:
A的文件中定义了int k;B的文件中也定义了int k;而C要把A和B的文件同时引用过
来使用,他在使用全局变量k时就会发生错误。系统无法辨别他要使用的是A中的还是
B中的。
如果A和B在编写过程中都定义了自己的命名空间并把int k放在其中
A:
namespace A
{
int k;
}
B:
namespace B
{
int k;
}
这时C引用时就要加上空间名,A::k B::k就解决了全局变量的重名冲突的问题
而C语言是没有命名空间的
可以自己定义命名空间,如:
using namespace aa;
C++引入命名空间主要是用来解决不同文件中全局变量的重名问题
比如一般大型的项目开发是由多个人一起完成的,每个人编写自己的一部分
最后再由一人把这些别人编写好的程序引用过来使用
例:
A的文件中定义了int k;B的文件中也定义了int k;而C要把A和B的文件同时引用过
来使用,他在使用全局变量k时就会发生错误。系统无法辨别他要使用的是A中的还是
B中的。
如果A和B在编写过程中都定义了自己的命名空间并把int k放在其中
A:
namespace A
{
int k;
}
B:
namespace B
{
int k;
}
这时C引用时就要加上空间名,A::k B::k就解决了全局变量的重名冲突的问题
而C语言是没有命名空间的
追问
追问加分,只是个形式,感谢你的回答,我理解了。但如下有个问题为什么结果为零?
#include // 加了这个头文件的原因 不知道怎么搞的 &
#include
#include
using std::vector;
using std::endl;
using std::cout;
using namespace std;
int main()
{
vector vec;
vec.push_back( 12 );
cout ( *vec.begin() - 14 ) << endl;
return 0;
}
追答
#include // 加了这个头文件的原因 不知道怎么搞的 &
#include
#include
using std::vector;
using std::endl;
using std::cout;
using namespace std;
int main()
{
vector vec;
vec.push_back( 12 );
cout 删除可以出结果,至于为什么我也不知道
return 0;
}
展开全部
没啥关系。。
using namespace std 标准命名空间。
如果在c++中不写的话 像cout、cin、及那些STL都要在前面写上命名空间std::
using namespace std 标准命名空间。
如果在c++中不写的话 像cout、cin、及那些STL都要在前面写上命名空间std::
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <vector>
#include <complex>
#include <iostream>
int main()
{
std::vector<int> vi;
vi.push_back(12);
std::cout << std::abs<int>((*vi.begin())-14) << '\n';
return 0;
}
#include <complex>
#include <iostream>
int main()
{
std::vector<int> vi;
vi.push_back(12);
std::cout << std::abs<int>((*vi.begin())-14) << '\n';
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
顶楼上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询