考虑一对两个源文件:接口声明文件(*.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() ...。