using namespace std是什么意思啊 5
namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。
如果使用Boost的库,那就写 using namespace boost;
如果使用C++ 标准库,那就写 using namespace std;
扩展资料:
简便理解:
98年以后的c++语言提供一个全局的命名空间namespace,可以避免导致全局命名冲突问题。举一个实例,请注意以下两个头文件:
//one.h
char func(char);
class String{...};
//somelib.h
class String{...};
如果按照上述方式定义,那么这两个头文件不可能包含在同一个程序中,因为String类会发生冲突。
所谓命名空间,是一种将程序库名称封装起来的方法,它就像在各个程序库中立起一道道围墙。
2019-11-29 广告
using namespace std 表示了所有的标准库函数都在标准命名空间std中进行了定义。其中std表示标准命名空间的名字。
该语句的作用就在于避免发生重命名的问题。
在程序设计中,程序员也可以自定义命名空间,举例说明如下:
#include <iostream>
using namespace std;
namespace ZhangSan
{
int a=10; //张三把10赋值给了变量a
}
namespace LiSi
{
int a=5; //李四把10赋值给了变量a
}
void main()
{
int a=1;
cout<<"张三定义的a="<<ZhangSan::a<<endl;
cout<<"李四定义的a="<<LiSi::a<<endl;
cout<<"主函数定义的a="<<a<<endl;
}
上例中的“ZhangSan::a”和“LiSi::a”分别表示了调用张三命名空间中的a变量和李四命名空间中的a变量。这样做的好处就是,虽然张三和李四这两个程序员都定义了一个变量a,但是并不会出现重名的危险。
以上程序的运行结果为:
张三定义的a=10
李四定义的a=5
主函数定义的a=1
使用命名空间。
关于命名空间可以简单理解成:
全世界的编程人员,在给对象命名时,一般都会用一些单词的简写之类,所以很有可能出现不同的功能却有相同的名称。以前的老方法是大家给自己的每一个对象都加上一个独有的前缀,例如:mylib_cout 之类,但这样在使用和修改时都很不方便,所以C++提供了命名空间解决该问题。
形象一点说:
命名空间就像一个文件夹,其内的对象名就像一个个文件,不同的文件夹内文件可以重名。在使用重名的文件时,只需要说明是哪个文件夹下的就行了。
而你所说的例子里:using namespace std; 就是告诉编译器,这行代码之后用到的 cout、cin 等函数都是 std 这个命名空间内定义的。
另外顺便提一下,命名空间也并没有解决所有问题,它只是使发生命名冲突的机会变小了许多而已。
2012-05-16