c++命名空间

来源:互联网 发布:看舌头知病情图片 编辑:程序博客网 时间:2024/06/06 10:49
#include <iostream>


using namespace std;


namespace Li
{
    int flag = 1;
}
namespace Han
{
    bool flag = true;
}
int main()
{
    Li::flag = 0;
    Han::flag = false;
    cout<< Han::flag<<Li::flag <<endl;
    cout << "Hello world!" << endl;
    return 0;

}

using声明不仅仅可以针对命名空间中的一个变量,也可以用于声明整个命名空间,例如:

  1. using namespace Li;
  2. flag = 0; //使用小李定义的变量flag
  3. Han::flag = false; //使用小韩定义的变量flag
如果命名空间Li中还定义了其他的变量,则同样具有flag变量的效果,在using声明后,若出现未具体指定命名空间的命名冲突变量,则默认采用Li命名空间中的变量。

命名空间内部不仅可以声明或定义变量,对于其它能在命名空间以外声明或定义的实体,同样也都能在命名空间内部进行声明或定义,例如变量的声明或定义、函数的声明或定义、typedef等都可以出现在命名空间中。

0 0
原创粉丝点击