【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

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部