gpt4 book ai didi

c++ - 从函数返回引用与临时绑定(bind)到 const ref

转载 作者:行者123 更新时间:2023-11-30 03:31:39 24 4
gpt4 key购买 nike

<分区>

我说得对吗,这个(摘自 this GotW ):

string f() { return "abc"; }

void g() {
const string& s = f();
cout << s << endl; // can we still use the "temporary" object?
}

完全没问题,但是这根本不行:

const string& foo() { string x{"abc"}; return x; }
void bar() {
const string& y = foo();
}

?

为什么不一样?可以说“temporay 的生命周期不会在函数调用中延长(即使绑定(bind)到 const ref)”吗?或者什么是解释,为什么第一个可以,但第二个不行?

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