gpt4 book ai didi

c++ - 按分配给const引用的值返回

转载 作者:行者123 更新时间:2023-12-02 10:36:32 25 4
gpt4 key购买 nike

我正在修复某些代码中的另一个错误,并遇到了一些我认为是错误的代码。但是,此代码在gcc 4.4、4.5和4.6下进行编译,并且看起来像“预期的”功能。谁能告诉我这是否有效的c++?

struct foo {
int bar;
};

foo myfunction(foo const &orig) {
foo fooOnStack = orig;
fooOnStack.bar *= 100;
return fooOnStack;
}

void myOtherFunction(foo const &orig) {
foo const &retFoo = myfunction();
// perhaps do some tests on retFoo.bar ...
}

如果这是有效的c++,那么有人知道这是合法的吗?

最佳答案

是的,这是合法的C++。对临时对象形成对const的引用可将临时对象的生存期延长至引用的生存期。

关于c++ - 按分配给const引用的值返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60032436/

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