在各种权威来源中,我看到了各种使用命名空间的方式。C++标准并不关注命名空间的正确使用。
假设我们有以下代码:
example.h
namespace Example {
class MyClass
{
public:
MyClass();
}
}
以下是两种实现方式:
示例1.cpp
#include "example.h"
using namespace Example;
MyClass::MyClass();
example2.cpp
#include "example.h"
namespace Example
{
MyClass::MyClass();
}
这两种实现在gcc编译时均没有警告,因此更多是代码的纯洁度或美观度的问题。但无论如何,这两种方法各有优缺点?
using namespace
是灾难的配方。在cpp文件中,它并不根本危险,但是否明智另说。 - user4442671