通常、std::string
関数から aを返すのは、a を返すconst char*
には呼び出し元が出力メモリ バッファーを提供する必要があり、そのバッファーはサイズ変更できないためです。
const char*
しかし、文字列リテラルからの場合、有効な値を返していますか?
const char* generate_c_string() {
return "ABC";
}
この方法で(有効な場合)実行すると、std::string
.
が有効なので、おそらくconst char* x = "ABC";
有効です。その有効性を実証するC++標準からの参照はありますか?