【发布时间】:2010-11-04 19:08:21
【问题描述】:
我喜欢 C++ 命名空间的概念,因为它们有助于保持源代码简洁,同时避免名称冲突。在 .cpp 文件中,使用“使用命名空间”声明时效果很好。但是,在头文件中不能使用它,因为它会“打开”名称空间,这意味着“使用名称空间”不仅适用于当前头文件,还适用于此后编译的所有内容。这部分抵消了命名空间的优势。例如,考虑一个头文件,其中经常使用“ourlib::networking::IpAddress”和“ourlib::filesystem::Path”类。
有没有办法限制头文件中“使用命名空间”声明的效果?
【问题讨论】:
标签: c++