mis*_*tor 5 c++ using-directives
很抱歉这个愚蠢的问题,但有没有办法将using指令限制在当前文件中,以便它们不会传播到#include这个文件的文件?
小智 15
不,没有,这就是为什么你不应该在头文件中使用using指令,或者你在#include中使用任何其他文件.
也许将要包含在其自己的名称空间内的代码包装起来可以实现
您想要的行为,因为名称空间具有范围影响。
// FILENAME is the file to be included
namespace FILENAME_NS {
using namespace std;
namespace INNER_NS {
[wrapped code]
}
}
using namespace FILENAME_NS::INNER_NS;
Run Code Online (Sandbox Code Playgroud)
以及其他一些文件中
#include <FILENAME>
// std namespace is not visible, only INNER_NS definitions and declarations
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |