C++命名空间

C++命名空间

使用命名空间内的成员(变量,函数,类)时,需要使用域操作符::

#include 


using namespace std;

// python12 的刘洋
namespace python12 {
    string name = "刘洋-python12";
}

// python34 的刘洋
namespace python34 {
    string name = "刘洋-python34";
}

int main() {
    // 输出python12的刘洋
    cout << python12::name << endl; // 刘洋-python12
    
    // 输出python34的刘洋
    cout << python34::name << endl; // 刘洋-python34

    return 0;
}
  • using指令

可以使用using namespace指令,这样在只用命名空间就可以加上命名空间的名称。这个指令会告诉编译器,后续的代码将使用指定的命名空间中的名称。

但是,不可以存在两个名称相同的变量,举个例子,当同时用using namespace使用下面的python12和python34命名空间时,编译器也不知道你使用的时哪一个命名空间里的变量。

#include 


using namespace std;

// python12 的刘洋
namespace python12 {
    string name = "刘洋-python12";
}

// python34 的刘洋
namespace python34 {
    string name = "刘洋-python34";
}

// 使用using指令
using namespace python12;

int main() {
    // 输出python12的刘洋
    cout << name << endl; // 刘洋-python12
    
    // 输出python34的刘洋
    cout << python34::name << endl; // 刘洋-python34

    return 0;
}

你可能感兴趣的:(总结,新知识,c++,c++)