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

来源:互联网 发布:分布式关系型数据库 编辑:程序博客网 时间:2024/06/05 10:55

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;}运行结果:


0 0
原创粉丝点击