【发布时间】:2015-02-16 16:35:53
【问题描述】:
假设我有一个这样的 constexpr int:
constexpr int i = 42;
但是到目前为止,我的程序没有任何情况可以在编译时使用i,所以它相当没用。但是以后,如果我想在编译时上下文中使用i,我不必回溯并添加constexpr。这可以像 const 正确性一样,您将 const 放在正确的位置并“第一次正确”得到它吗?或者只是没有必要?将所有内容都设为 constexpr 有哪些负面缺点?
【问题讨论】:
-
嗯,它也是const,所以你不能写
i = 43;你不希望你所有的程序变量都是const,是吗? -
如果您不想修改将其标记为
constexpr的值,则会强制执行该行为,同时还可以为您提供使用 as 和数组大小以及其他编译时使用的好处。