C++ 引用注意的问题
引用的对象不存在
#include <iostream>
using namespace std;
class A
{
public:
A(int x) { this->x = x; }
~A() {};
int get_x() { return x; }
private:
int x;
};
A& func()
{
A a(33); // 局部变量超过作用域会回收
return a;
}
int main()
{
A& r = func();
cout << r.get_x() << endl;
return 0;
}
输出:
7599612 // 一个随机数
如果将主函数A& r = func();
改成A r = func();
func 函数返回值改成A
去掉&
,按值返回对象的副本。
输出:
33
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了