c++中引用作为函数的返回值

来源:互联网 发布:网络预警包括那2个方面 编辑:程序博客网 时间:2024/05/22 14:28

             这次我们特意来谈一谈引用作为函数的返回值时的情况

             我们都知道,引用是内存变量的别名(外号),当一个函数的返回值是引用的话,我们就可以把这个函数当做一个变量来使用。变量能进行的操作那么这个函数也都可以

             看个程序:

             #include<iostream>
             using namespace std;
             int &max(int &a,int &b)
             {
                   return (a>b)?a:b;
             }
            int main()
            {
                int x=2,y=3;
               cout<<"x,y中较大的数是:"<<max(x,y)<<endl;                                                                                 //max(x,y)的返回值是x,y中较大值的引用,可以看做是个变量
               max(x,y)=4;                                                                                                                                       //我们可以向对变量赋值一样对返回值为引用的函数赋值
               cout<<"max(x,y)="<<max(x,y)<<endl;
               return 0;
           }

           但是需要注意的是,定义返回引用的函数时,不要返回这个函数中局部变量的引用,因为仅在函数被调用时局部变量才被分配内存,函数一旦被调用完后,局部变量就自动

           消失了,函数就会返回一个无效的引用。

            

0 0
原创粉丝点击