Correct way to define C++ namespace methods in .cpp file

后端 未结 8 1434
你的背包
你的背包 2020-12-12 11:10

Probably a duplicate, but not an easy one to search for...

Given a header like:

namespace ns1
{
 class MyClass
 {
  void method();
 };
}
8条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-12 11:56

    Version 2 is unclear and not easy to understand because you don't know which namespace MyClass belongs to and it's just illogical (class function not in the same namespace?)

    Version 1 is right because it shows that in the namespace, you are defining the function.

    Version 3 is right also because you used the :: scope resolution operator to refer to the MyClass::method () in the namespace ns1. I prefer version 3.

    See Namespaces (C++). This is the best way to do this.

提交回复
热议问题