class C {
using namespace std; // error
};
namespace N {
using namespace std; // ok
}
int main () {
using namespace std; // ok
}
Run Code Online (Sandbox Code Playgroud)
编辑:想知道背后的动机.
是否有可能有一个using范围仅限于一个类的指令?
请注意,我想要"使用"的内容不包含在当前类的父级中.
为简单起见,假设以下例子:
#include<vector>
class foo
{
using std::vector; //Error, a class-qualified name is required
}
Run Code Online (Sandbox Code Playgroud)
另一个有趣的事情是,如果using包含指令,如果包含头:
MyClassFoo.h:
#include<vector>
using std::vector; //OK
class foo
{
}
Run Code Online (Sandbox Code Playgroud)
并在
NewHeader.h
#include "MyClassFoo.h"
...
Run Code Online (Sandbox Code Playgroud)
我怎么能阻止" using std::vector"在这里可见?