gpt4 book ai didi

c++ - C++问题中的引用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:50 25 4
gpt4 key购买 nike

我听说 C++ 中的引用只能初始化一次,但这给我的输出是 1,并且没有返回任何错误!

 struct f { 
f(int& g) : h(g) {
h = 1;
}

~f() {
h = 2;
}

int& h;
};

int i() {
int j = 3;
f k(j);
return j;
}

最佳答案

捕获返回值j后调用f的析构函数。

如果你希望 j 为 2,你可能需要这样的东西:

int i( )  
{
int j=3;
{
f k(j);
}
return j;
}

参见 C++ destructor & function call order有关销毁顺序和返回语句的更详细说明。

关于c++ - C++问题中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412164/

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