"using namespace std;"是什么意思呀?
"using namespace std;"是什么意思呀?学C++有不短时间了,经常看到这句语句,没实际用过,想请教一下这条语句具体含义是什么呀?
命名空间
书上有
使用命名空间。
关于命名空间可以简单理解成:
全世界的编程人员,在给对象命名时,一般都会用一些单词的简写之类,所以很有可能出现不同的功能却有相同的名称。以前的老方法是大家给自己的每一个对象都加上一个独有的前缀,例如:mylib_cout 之类,但这样在使用和修改时都很不方便,所以C++提供了命名空间解决该问题。
形象一点说:
命名空间就像一个文件夹,其内的对象名就像一个个文件,不同的文件夹内文件可以重名。在使用重名的文件时,只需要说明是哪个文件夹下的就行了。
而你所说的例子里:using namespace std; 就是告诉编译器,这行代码之后用到的 cout、cin 等函数都是 std 这个命名空间内定义的。
另外顺便提一下,命名空间也并没有解决所有问题,它只是使发生命名冲突的机会变小了许多而已。