1、命名空间std
C++标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念,标识符就被限制在特定的范围(函数)内,不会引起命名冲突。最典型的例子就是std命名空间,C++标准库中所有标识符都包含在该命名空间中。
C++标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念,标识符就被限制在特定的范围(函数)内,不会引起命名冲突。最典型的例子就是std命名空间,C++标准库中所有标识符都包含在该命名空间中。
如果确信在程序中引用某个或者某些程序库不会引起命名冲突(即库中的标识符不会在程序中代表其他函数名称),那么可以通过using操作符来简化对程序库中标识符(通常是函数)的使用,例如:using namespace std;那么就可以不用在标识符在前缀std::来使用C++标准库库中的函数了。
通过std来引用标准库中的名字,例如,需要从标准输入读取数据时,就用std::cin,这些名字都用了::操作符,该操作符是作用域操作符。它的含义是右操作数的名字可以在左操作数的作用域中找到。因此。std::cin的意思是说所需名字cin是在命名空间std中定义的。显然这种定义是很麻烦的,幸运的是,c++提供了更简洁的方式来使用命名空间中的成员。即using声明。
使用using声明可以在不需要加前缀namespace_name::的情况下访问命名空间中的名字。
using的声明如下:using namespace::name; //如:using std::cin;
一旦使用了using声明,就可以直接引用名字,而不需要引用改名字的命名空间。
通常直接使用 using namespace std;cin cout等名字都可以在程序中直接使用