【发布时间】:2015-05-04 21:16:44
【问题描述】:
constexpr 意味着 const 似乎很明显,因此很常见:
constexpr int foo = 42; // no const here
但是如果你写:
constexpr char *const str = "foo";
如果传递了 -Wwrite-string 标志,则 GCC 将产生“警告:不推荐从字符串常量到‘char*’的转换”。
写作:
constexpr const char *const str = "foo";
解决问题。
那么 constexpr const 和 constexpr 真的一样吗?
【问题讨论】:
-
这不是 Difference between
constexprandconst的副本。这里的问题是“constexpr const”与“constexpr”的组合用法,这与链接问题完全不同。 -
@Sumudu,我完全同意,我投票决定重新提出问题。
标签: c++ c++11 constants constexpr