C++项目相关知识命名空间2

命名空间合并

test_a.h中有定义:

namespace ns {
class a {...};
}

test_b.h中有定义:

namespace ns {
class b {...};
}

然后,在test_c.cpp中有如下代码片段:

#include "test_a.h"
#include "test_b.h"
using namespace ns;

则最后多个命名空间ns会合并成一个命名空间ns,包含类a和类b的定义。


标准库文件和using namespace std

以前一直搞不懂下述代码总是成群出现。

#include<iostream>
using namspace std

还有为什么多个不同的头文件,都使用同一个标准命名空间std。
现在想想,每个标准头文件都处在命名空间std里。
比如iostream里的代码应该是如下的

namespace std{
cout的定义
cin的定义
等等
}

这样,用using namespace std就可以直接使用cin,cout等函数了。标准库文件都处在命名空间std下面,std由多个不同的标准头文件组成。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容