我在命名空间中包含的.hpp
行中有一个类声明:
namespace mylib
{
class MyClass
{
public:
MyClass();
}
}
我计划在.cpp
文件中实现类的功能。
但是,这两种方法似乎都有效:
mylib::MyClass::MyClass()
{
}
和
namespace mylib
{
MyClass::MyClass()
{
}
}
所以我想知道这些方法之间有什么区别,我是否应该优先选择其中一种方法。
答案 0 :(得分:6)
这是个人喜好。但是,您可以使用带括号的namespace
关键字保存代码。这些也许更容易阅读(知道所有东西都在同一个命名空间中)。
另请注意,一旦开始使用班级中定义的自定义类型,不使用namespace
可能会变得相当繁琐和令人困惑,例如用作返回或参数类型的不同本地类:
myNamespace::myClass::myType &myNamespace::myClass::doSomething(const myNamespace::myOtherClass &theOther) {
// ...
}
namespace myNamespace {
myClass::myType &myClass::doSomethingDifferent(const myOtherClass &theOther) {
// ...
}
}
答案 1 :(得分:0)
mylib::
包含7个字符
namespace mylib { }
包含16个字符(不包括空格)
因此,只要您定义了3种或更多种方法,通过使用第二种形式,您将节省打字时间。