考虑一对两个源文件:接口声明文件(*.h或*.hpp)及其实现文件(*.cpp).
让*.h文件如下所示:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
Run Code Online (Sandbox Code Playgroud)
我在源文件中看到了两种不同的使用命名空间的做法:
*.cpp 练习#1:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
Run Code Online (Sandbox Code Playgroud)
*.cpp 练习#2:
#include "MyClass.h"
namespace MyNamespace {
int MyClass::foo() { ... }
}
Run Code Online (Sandbox Code Playgroud)
我的问题:这两种做法之间是否有任何差异,哪一种被认为比另一种更好?