関数から std::string& を返し、戻り値の型が代入の右辺値である場合、GCC から警告メッセージが表示されます。これは、参照渡しが正しくコピーされないためでしょうか? エラーは、スタックからすぐに削除されるため、一時的な値を渡していることを示しています。
考慮すべきコードを次に示します。私がやろうとしていることは問題ですか?
const std::string& TranslationTable::EnglishTranslate()
{
return "end";
}
そしてメインの内部:
std::string me;
me = EnglishTranslate();
返された文字列の内容は に正しくコピーされme
ますか?