【C++】namespace 命名空间

【C++】namespace 命名空间,第1张

【C++】namespace 命名空间


参考:C++中头文件iostream介绍

#include   

using namespace std;
int main()
{
    cout  <<  "hello, world!"  <<  endl;
    return 0;
}
using  //是编译指令,声明当前命名空间的关键词;可以从他的字面上理解他的意思,䍚翻译称使用;这样 
using namespace std;  //这句画可以理解成使用命名空间std
//因为cin和cout 都是属于std命名空间下的东西,所以使用时必须加上using namespace std; 
//cin和cout可以写 :
std::cin
std::cout
// :: 表示作用域,cin cout属于std命名空间下的东西,所以可以理解成std的cin,和std的cout

为什么要使用命名空间
有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是价格前缀
比如C++标准库里面定义了vector容器,我自己也写了个vector类,这样名字就冲突了,于是标准库里的名字都加上std::的前缀,就必须用std::vector来引用;同理,自己定义的类也可以加个自定义的前缀;但是经常写全名回很繁琐,所以在没有冲突的情况下可以偷懒,写一句 using namespace std; 接下去的代码就可以不用写前缀而直接写vector了。

#include 
using namespace std;
namespace TEST     //自定义一个命名空间TEST; 里面定义一个变量x 并赋值1;还定义了一个函数func()
{
    int x = 1;
    void func(){
        cout << "TEST namespace" << endl;
    }
}

using namespace TEST;  //声明使用命名空间TEST
int main()
{
    func();
    TEST::x = 3;       //将命名空间TEST下的x 重新赋值为3;
    cout << TEST::x << endl;  //打印出命名空间TEST下的x 的值;
    TEST::func();    //调用命名空间TEST下的函数func();
    return 0;
}

编译:

g++ umi.cpp -o umi

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5670270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存