万川归海 2024-10-31 16:24
浏览 4

局部对象没有被系统收回,是什么原因?

提问:局部对象没有被系统收回,是什么原因?


#include <iostream>
using namespace std;
class A
{
public:
    A(int i) { x = i; cout << "构造" << endl; }
    int get() { return x; }
    ~A() { cout << "析构函数" << endl; }
private:
    int x;
};
A &func();
int main()
{
    A &r = func();
    cout << r.get() << endl;
    return 0;
}
A &func()
{
    A a(23);
    return a;//这里返回局部对象应该被系统清楚,为什么输出结果还是23?
}

结果:
构造
析构函数
23

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 创建了问题 10月31日

    悬赏问题

    • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
    • ¥15 java 的protected权限 ,问题在注释里
    • ¥15 这个是哪里有问题啊?
    • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
    • ¥15 texstudio的问题,
    • ¥15 spaceclaim模型变灰色
    • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
    • ¥15 字符串比较代码的漏洞
    • ¥15 欧拉系统opt目录空间使用100%
    • ¥15 ul做导航栏格式不对怎么改?