引用之局部变量释放内存空间后的随机指向

 

#include <iostream>
using namespace std;

class A
{
public:
 A(int i)
 {
  x=i;  /* 声明与合并的成员"隐士内联函数" */
 }
 int get()
 {
  return x;
 }
private:
 int x;
};

A &func();  // 子函数的声明.

int main()
{
 A &r=func(); //定义了一个 类A的引用,并调用func子函数. 接到来自func中类A对象a的引用
 cout<<r.get()<<endl; //利用子函数构造的对象a,来输出,因为子函数func 是局部对象在 栈中开辟的空间,所以子函数
 return 0;    //结束,直接释放了内存空间,与是 r引用输出的是任意一块地址内存内容,为随机值.
}

A &func()  /* 函数体实现. */
{
 A a(23);  //子函数 func 中 定义了类A的对象a.并返回对象a的地址.回交给引用.
 return a;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值