对于命名空间这个词可能会陌生,但是学过一点C++都应该会知道
不如说using namespace std;就是对标准命名空间的使用。
而命名空间的使用通常是为了在程序开发过程中避免重复的方法。
比如说多个人开发同一个程序,不过两个人都定义了一个相同的变量或者函数,但是二者的含义及作用是完全不同的,
所以我们需要将这两者区分开来,于是就有了命名空间的使用。
namespace Li{ //小李的变量声明 int flag = 1; } namespace Han{ //小韩的变量声明 bool flag = true; }
这个的使用方法就如同using namespace std;的使用方法相同
只是std处变成了相应的空间名。
比如上面的就是
using namespace Li; using namespace Han;
然后还有另一种使用方法,不过需要指定所使用的变量时需要用到“::”操作符,“::”操作符是域解析操作符。
Li::flag = 0; //使用小李定义的变量flag Han::flag = false; //使用小韩定义的变量flag
除了直接使用域解析操作符,还可以采用using声明(using declaration),例如:
除了直接使用域解析操作符,还可以采用using声明(using declaration),例如:
除了直接使用域解析操作符,还可以采用using声明(using declaration),例如:
除了直接使用域解析操作符,还可以采用using声明(using declaration),例如:
using Li::flag; flag = 0; //使用小李定义的变量flag Han::flag = false; //使用小韩定义的变量flag
namespace 头文件的代码
#ifndef NAMESPACE_H #define NAMESPACE_H namespace Li{ //小李的变量声明 int flag = 1; } namespace Han{ //小韩的变量声明 bool flag = true; } #endif // NAMESPACE_H