请考虑以下代码:
constexpr auto f()
{
auto str = "Hello World!";
return str;
}
int main(int argc, char* argv[])
{
static constexpr auto str = f();
std::cout << str << std::endl;
return 0;
}
我的编译器没有显示任何警告,这是正常的吗?这是被定义的行为吗?我有保证程序将显示“Hello World!”吗?我希望“Hello World!”不要超出函数范围...
const char *
。事实并非如此。 - T.C.const char
数组长度具体吗? - Tomilov Anatoliy