は、次のコードを考えてみましょう:constexpr関数でC文字列を返す:なぜコンパイラから警告が出ないのですか?
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'コンクリートの長さの配列? – Orient
@ T.C。本当に、ありがとう。 – lisyarus