【发布时间】:2019-03-25 11:08:04
【问题描述】:
以下两种创建 const 值的模式有什么区别?
constexpr int some_val = 0;
对
namespace {
const int some_val = 0;
}
我习惯了第二种方法,但第一种等效吗?
【问题讨论】:
-
为什么你使用第二种方法?特别是,您认为在这里使用未命名的命名空间有什么影响?我怀疑你对它的影响不是很清楚(= 不存在)。
-
未命名的命名空间将与
static进行比较,而不是constexpr。 -
为什么将第二个选项放在命名空间中?这背后有什么原因吗? Q 的标题有点像比较苹果和橘子。
-
@Jarod42 这将是我使用第二种方法的意图。 constexpr 主要由编译器用来替换值吗?
标签: c++ c++11 namespaces