基本上,我正在使用以下格式提供的一些头文件:
#include <iostream>
using namespace std;
class bar
{
public:
void printSomething(void)
{
cout << "This is an example." << endl;
}
}
我的问题是,由于我无法修改提供的 header ,如何去除文件中的
std
命名空间并返回到默认的全局命名空间?我尝试过“using namespace ::;
”和“using namespace ;
”,但编译器对其中任何一个都不满意。关于如何强制使用命名空间进行清理的任何想法? 最佳答案
你不能。这就是 using namespace
子句如此难看的原因。不过,您可以将这些 header 包含在另一个命名空间中:
namespace bleh {
#include "library_that_uses_evul_using_namespace.h"
}
这只会污染
bleh
命名空间。关于c++ - 是否可以恢复到 "default"全局命名空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13851751/