const与静态const在匿名命名空间中

问题描述 投票:2回答:1

我希望能够为类提供默认名称,以便在记录错误时始终可以使用一个合理的名称。我不需要(或不想)这个名称成为课程本身的一部分。此默认名称永远不会更改,因此是const甚至constexpr的理想选择,但是无论出于何种原因您都无法执行constexpr QStringconstexpr std::string

在我的cpp文件中,这样做更好吗?>

namespace {
 const QString NAME("Some Name");
}

namespace {
 static const QString NAME("Some Name");
}

我知道这两个版本都将导致NAME具有内部链接,但是最佳实践是什么?我已经看到了一些关于将全局变量移动到匿名名称空间的讨论,但是没有一个提及使用static inside

名称空间。

参考:

我希望能够为类提供默认名称,以便在记录错误时始终可以使用一个合理的名称。我不需要(或不想)这个名称成为课程本身的一部分。这个...

c++ qt static linker
1个回答
1
投票

static在匿名名称空间中是完全多余的。它会

© www.soinside.com 2019 - 2024. All rights reserved.