我在 .hpp
行中有一个类声明,该行包含在命名空间中:
namespace mylib
{
class MyClass
{
public:
MyClass();
}
}
我计划在 .cpp
文件中实现该类的功能。
然而,这两种方法似乎都有效:
mylib::MyClass::MyClass()
{
}
和
namespace mylib
{
MyClass::MyClass()
{
}
}
所以我想知道这些方法之间有什么区别,我是否应该更喜欢其中一种方法。
最佳答案
这是个人喜好。但是,您可以使用带括号的 namespace
关键字来保存代码。此外,这些内容可能更易于阅读(无论如何都知道所有内容都在同一个命名空间中)。
另外请记住,一旦您开始使用在您的类中定义的自定义类型,例如,不使用 namespace
可能会变得相当乏味和困惑。用作返回或参数类型的不同本地类:
myNamespace::myClass::myType &myNamespace::myClass::doSomething(const myNamespace::myOtherClass &theOther) {
// ...
}
namespace myNamespace {
myClass::myType &myClass::doSomethingDifferent(const myOtherClass &theOther) {
// ...
}
}
关于c++ - 实现方法时如何使用命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149624/