2

.hpp我在命名空间中包含的一行中有一个类声明:

namespace mylib
{
    class MyClass
    {
        public:

        MyClass();
    }
}

我计划在一个.cpp文件中实现类的功能。

但是,这两种方法似乎都有效:

mylib::MyClass::MyClass()
{
}

namespace mylib
{
    MyClass::MyClass()
    {
    }
}

所以我想知道这些方法之间有什么区别,以及我是否应该更喜欢其中一种。

4

2 回答 2

6

这是个人喜好。namespace但是,您可以使用带括号的关键字来保存代码。此外,这些可能更容易阅读(知道一切都在同一个命名空间中)。

还要记住,namespace一旦您开始使用在您的类中定义的自定义类型,例如用作返回或参数类型的不同本地类,不使用可能会变得相当乏味和混乱:

myNamespace::myClass::myType &myNamespace::myClass::doSomething(const myNamespace::myOtherClass &theOther) {
    // ...
}

namespace myNamespace {
    myClass::myType &myClass::doSomethingDifferent(const myOtherClass &theOther) {
        // ...
    }
}
于 2013-01-04T01:01:23.643 回答
0

mylib::包含 7 个字符

namespace mylib { }包含 16 个字符(不包括空格)

因此,通过使用第二种形式,只要您定义 3 个或更多方法,您就可以节省输入时间。

于 2013-01-04T01:02:49.217 回答