理解:就是将各种名称进行抱团分类,需要使用某个命名空间下的内容就加上这个命名空间前缀即可(使用前需要加上using 命名空间的具体内容;)。
命名空间的直观作用就是减少了代码量,同时便于阅读代码。
using namespace std;
和
using std::string;
using std::cout;
这两种方式在要使用string和cout的时候的效果是基本等同的,只不过前者是将std中的所有内容全部导入的。
如果我们导入的两种命名空间里面都有同一个名字比如string,命名冲突后我们加上命名空间前缀即可。
同时可以使用namespace来对命名空间来进行简化:
using aaa::bbb::ccc::post
此时我们使用:
post p;
如果post出现重名的话:
aaa::bbb::ccc::post p;
我们又不想将整个名称打完,我们可以:
namespace xxx=aaa::bbb::ccc;
然后
xxx::ppst p;
即可简化书写
参考:
重学C++[Modern C++]:namespace 详解_哔哩哔哩_bilibili内容:为什么需要命名空间?使用的3中风格,全局命名空间,命名空间重载,类与命名空间?