gpt4 book ai didi

c++ - 在 .cpp 文件中定义 C++ 命名空间方法的正确方法

转载 作者:IT老高 更新时间:2023-10-28 11:56:35 26 4
gpt4 key购买 nike

可能是重复的,但不容易搜索...

给定一个像这样的标题:

namespace ns1
{
class MyClass
{
void method();
};
}

我已经看到在 .cpp 文件中以多种方式定义了 method():

版本 1:

namespace ns1
{
void MyClass::method()
{
...
}
}

版本 2:

using namespace ns1;

void MyClass::method()
{
...
}

版本 3:

void ns1::MyClass::method()
{
...
}

有没有“正确”的方法来做到这一点?这些“错误”中的任何一个是否都意味着不同的意思?

最佳答案

版本2不清楚也不容易理解,因为你不知道MyClass属于哪个命名空间,只是不合逻辑(类函数不在同一个命名空间?)

版本 1 是正确的,因为它表明在命名空间中,您正在定义函数。

版本 3 也是正确的,因为您使用 :: 范围解析运算符来引用命名空间 ns1 MyClass::method ()。我更喜欢版本 3。

Namespaces (C++) .这是最好的方法。

关于c++ - 在 .cpp 文件中定义 C++ 命名空间方法的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com