跟我一起学C++之引用作为返回值

1.引用的另一个作用是用于返回引用的函数

2.函数返回引用的一个主要目的是可以将函数放在赋值运算符的左边。

3.注意:不能返回对局部变量的引用。

 

代码实例:

#include<iostream>
usingnamespace std;
 
// 引用作为函数返回值
 
int a[] = {0,1,2,3,4};
 
int& index(inti)
{
         return a[i];
}
 
int main(void)
{
         index(3) = 100;                   // 引用作为函数返回值,使得函数可以放在赋值运算符左边
                                                        // 函数返回引用,引用在函数返回的时候初始化
                                                        // index(3)在函数返回的时候被初始化为a[3];
        
         cout<<"a[3]="<<a[3]<<endl;
         return 0;
}
 
运行结果:



代码实例:
#include<iostream>
usingnamespace std;
 
// 不能返回对局部变量的引用
 
int& add(inta, intb)
{
         int sum;
         sum = a + b;
         return sum;
}
 
int main(void)
{
         int n = add(3, 4);
         int& n2 = add(5, 6);           // n2是引用,没有自己独立的空间
                                                                           // n2的值依赖于它所引用的变量
                                                                           // 如果n2所引用的变量的生命期结束了,也就是说n2是一个
                                                                           // 无效的引用,那么n2的值将是不确定的。
         cout<<"n2="<<n2<<endl;//局部变量虽然已经被销毁但是内容还在因此输出正确
         cout<<"n="<<n<<endl;//变量输出值是正确的
         cout<<"n2="<<n2<<endl;//局部变量已经被销毁,并且被覆盖,因此输出的值是不确定的
         return 0;
}
运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值