什么是命名空间

什么是命名空间?为什么要写using namespace std;这句话呢?

这是C++新引入的一个机制,主要是为了解决多个模块间命名冲突的问题,就像现实生活中两个人重名一个道理。C++把相同的名字都放到不同的空间里,来防止名字的冲突。

例如标准C++库提供的对象都存放在std这个标准名字空中,比如cin、cout、endl,所以我们会看到在C++程序中都会有using namespace std;这句话了,如程序:

#include<iostream>
using namespace std;
int main()
{
    cout<<“Hello World!”<<endl;
    return 0;
}

程序用到cout和endl则必须提前告知使用std这个命名空间,除此以外,还有另外两种写法。

#include<iostream>
int main()
{
   std::cout<<“Nice to meet you!”<<std::endl;
   return 0;
}

看到了吗?cout和endl前面分别用std::指明,表示来自std。

第三种:用using和域限定符一起制定用哪些名字,如代码:

#include<iostream>
using std::cout;
using std::endl;
int main()
{
   cout<<"Nice to meet you!"<<endl;
   return 0;
}

看到了吗?在前面先用using对具体的名字进行声明也可以。

以上三种,大家用哪种都可以,为今后统一方便,我们教程中统一采用第一种写法。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容