C++引用作为返回值

来源:互联网 发布:淘宝小智 编辑:程序博客网 时间:2024/06/03 14:50




#pragma  引用作为返回值#include <iostream>using namespace std;//返回值类型是引用  相当于创建一个匿名的临时变量int& fa(int& r){    r++;    return r;}int& fb();//函数声明//主函数int main (){    int x = 100;   // fa(x);   // cout << x << endl;       // int y = fa(x);//这样只是把返回的引用赋值给y    int& y = fa(x);//这是相当于y引用那个返回的临时变量 所以下面如果改变y  那么原来的也会改变    cout << "x = " << x << endl;    cout << "y = " << y << endl;        y++;    cout << "y++之后  x = " << x << endl;            cout << "==============" << endl;    //这里应该打印不出来,因为该引用 引用的变量已经不存在了    int &z = fb();    cout << z << endl;//这里是编译器还没有来得及销毁的问题        return 0;}//返回值类型是引用  参数为空int& fb(){    #pragma 永远不要返回局部变量的引用  除非局部变量是静态的或是在动态内存中分配的    int x = 100;    return x;    //这里之所以有警告 是因为这x是局部变量  当出了这个函数x就不存在了,所以返回值是引用(别名)没意义}


0 0
原创粉丝点击