7

通常、std::string関数から aを返すのは、a を返すconst char*には呼び出し元が出力メモリ バッファーを提供する必要があり、そのバッファーはサイズ変更できないためです。

const char*しかし、文字列リテラルからの場合、有効な値を返していますか?

const char* generate_c_string() {
    return "ABC";
}

この方法で(有効な場合)実行すると、std::string.

が有効なので、おそらくconst char* x = "ABC";有効です。その有効性を実証するC++標準からの参照はありますか?

4

1 に答える 1