如果我从函数返回 std::string& 并且返回类型是赋值的右值,我会从 GCC 收到警告消息。这是因为通过引用传递不会正确复制吗?该错误表明我正在传递一个临时值,因为它很快就会从堆栈中删除。
这里有一些代码供您考虑:我要做什么有问题吗?
const std::string& TranslationTable::EnglishTranslate()
{
return "end";
}
内部主要:
std::string me;
me = EnglishTranslate();
返回的字符串的内容会正确复制到 中me
吗?