如果我的代码有这个 constexpr
字符串
constexpr char my_str[] = "hello";
my_str
的类型包含有关其大小的信息,即 sizeof(my_str)
是常量 6,可以在需要常量的任何地方使用。
strlen(my_str)
呢?是否也可以/应该将其计算为编译时常量?
这里是一个例子:https://ideone.com/2U65bN
这是一个例子:http://coliru.stacked-crooked.com/a/8cb094776dfc5969
标准对此有何规定?肯定不是“也许”?
最佳答案
在 C++17 中你可以使用 std::char_traits::length
,这是 constexpr
,而不是 strlen
。
关于c++ - 在编译时评估 strlen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56244988/