gpt4 book ai didi

c++ - 正确返回对局部变量的 const 引用

转载 作者:太空狗 更新时间:2023-10-29 23:39:43 24 4
gpt4 key购买 nike

除了答案 1 , 2 , 3GotW88 , 假设有以下方法

QString createString()
{
return QString("foobar");
}

const QString& getString()
{
return createString();
}

这将在 VS2013 中产生著名的“warning C4172: returning address of local variable or temporary”。

现在如果我把第二种方法改成

const QString& getString()
{
const QString& binder = createString();
return binder;
}

不再报错。这是在不更改 API 签名的情况下修复警告的安全方法吗?为什么会这样?

最佳答案

这是行不通的。这样你就可以通过使情况更难分析来简单地抑制警告。该行为仍未定义。

关于c++ - 正确返回对局部变量的 const 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com