考虑一对两个源文件:接口声明文件(*.h
或*.hpp
)及其实现文件(*.cpp
)。
让*.h
文件如下所示:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
我已经看到了两种在源文件中使用名称空间的实践:
*.cpp
显示练习1:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
*.cpp
显示练习2:
#include "MyClass.h"
namespace MyNamespace {
int MyClass::foo() { ... }
}
我的问题是:这两种做法之间是否有差异,是否认为其中一种更好?
int MyNamespace::MyClass::foo() ...
。