小古银的官方网站(完整教程):http://www.xiaoguyin.com/
C++入门教程视频:https://www.bilibili.com/video/av20868986/
目录
前言
随着代码量越来越大和需要引入的第三方库越来越多,标识符冲突是很难避免的。命名空间namespace
的出现就是为了减少冲突的发生。随着开源代码越来越多,命名空间冲突也是可能的,不过基本上不会出现。
前面的教程中,基本上所有的代码都能看到std::
(如std::cout
),实际上,std
就是一个命名空间。
使用命名空间里面的东西时,需要这样写命名空间::需要使用的东西
。当然,多重命名空间的使用就是命名空间1::命名空间2::需要使用的东西
,以此类推。
释放命名空间
命名空间和需要使用的标识符加起来的名字太长也是经常发生的,在这种情况下,为了可读性,有很多种缩短的方法,首先介绍的是释放命名空间。但是说这个方法前先说明使用原则,这个很重要。
由于命名空间的作用就是为了减少冲突,如果不管什么情况都释放它,那么就失去它的作用了。所以要保证:要限制释放命名空间的范围。
下面说如何释放命名空间,都以命名空间std
和命名空间std::chrono
举例:
基础示例 1
#include <iostream> // std::cout std::endl
int main(void)
{
// 释放命名空间std后, 后面代码都可以省略std::
using namespace std;
cout << "释放命名空间std" << endl;
return 0;
}
基础讲解 1
可以看出,使用using namespace