C++ 在类中使用名称空间foo是否可以接受?
我知道我们不应该在头文件中添加这样的代码:C++ 在类中使用名称空间foo是否可以接受?,c++,namespaces,using-directives,C++,Namespaces,Using Directives,我知道我们不应该在头文件中添加这样的代码: using namespace std; 但是这个呢: namespace foo { class A { public: void add() { using namespace std; // do some work here } } } 据我所知,std只被带到函数add中,而不带到名称空间中的任何其他类
using namespace std;
但是这个呢:
namespace foo
{
class A
{
public:
void add()
{
using namespace std;
// do some work here
}
}
}
据我所知,std只被带到函数add中,而不带到名称空间中的任何其他类中
还是不能接受吗?为什么? 不,编译器会告诉你的。在任何情况下,如果
类A
位于命名空间foo
中,它会自动在foo
中查找名称。您可以将其添加到单个成员函数中,但不能添加到整个类中。@Boperson:可以这样做吗?添加到单个成员函数?为什么不问这个问题,而不是问不编译的代码是否可以接受?@mans-我很少这样做,但这是允许的。你也应该考虑如果在指令中键入20个字符实际上会为你节省任何东西。代码>标准::只有5个字符。