- 博客(1)
- 收藏
- 关注
原创 C++ 为什么不能返回局部对象的引用或指针
此时如果返回局部对象,那就意味着在函数体终止时,该对象的生命周期结束,局部变量被销毁,局部变量的引用将不再指向有效的内存区域,拿到它的引用又有什么用呢?当返回类型不是引用或指针,那么返回值将被拷贝至调用点(函数返回的是该对象的副本或一个未命名的临时对象),然后该对象被销毁,这不会对返回值造成什么影响。首先,我们要知道对象是有生命周期的,函数体执行完之后,那么它所占的存储空间被释放掉,函数体里的局部变量也会被销毁。同样,返回局部对象的指针也是错误的,一旦函数完成,局部对象被释放,指针将指向一个不存在的对象。
2023-10-14 14:13:26 147 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人