gpt4 book ai didi

c++ - const 引用和返回值

转载 作者:太空宇宙 更新时间:2023-11-04 12:55:10 28 4
gpt4 key购买 nike

有代码

int test(){
return 5;
}

int main(){
const int & t = test();
cout << &t << endl;
}

根据标准,我们可以将临时对象分配给常量和变量,并将它们的生命周期延长到常量和变量的生命周期。

这是否意味着 const & variable 在内存中的位置(内存地址)与返回值(临时对象)相同?

例如

如果我想从 func 返回值,它会被复制到寄存器中,然后分配给变量,这意味着内存位置不会相同,或者它是在堆栈上创建的,只是 const & variable 是那个地方的别名在内存中?

还有为什么需要 const ,这正是 c++ 实现它的方式?

感谢您的回答。

最佳答案

int 通常作为寄存器返回,因此编译器将创建一个新的临时空间来存储结果。

返回的对象可能没有存储,所以严格来说不一定是同一个地址

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

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