zoukankan      html  css  js  c++  java
  • 函数返回值是引用类型,此函数当左值、右值

    函数的返回值当左值,则需要返回引用类型。左边必须是一块内存,来承接右边的值。

    函数返回值是引用,返回的是变量本身,即变量的内存。

    这个变量必须是静态的或全局的,防止函数之外内存消亡。

    #include <iostream>
    using namespace std;
    
    int func()
    {
        int a=10;
        a++;
        return a;
    }
    int& func1()//函数返回值是引用,返回的是变量本身,即变量的内存
    {
        static int a=10;//静态变量或者全局变量
        a++;
        return a;
    }
    int main()
    {
        int x,y;
        x=func();//等效于x=11,注意func()中a的内存已经消亡。
        y=func1();//函数做右值,等效于y=a,a是11。注意func1()中a的内存仍然存在。
        func1()=20;//函数做左值,等效于a=20,注意a由12变成20。func1()每出现一次,a就增1。
        cout << x <<" " <<y<<endl;
        cout<<func1()<<endl;//再次增1,输出21
        return 0;
    }
  • 相关阅读:
    顯示IP
    iPad开发学习之二HelloWorld及发布ipa
    转:iphone/ipad网站开发技巧整理
    poj1026
    poj3270
    poj3132
    poj3617
    poj3692
    从C#到Python —— 谈谈我学习Python一周来的体会
    使用Dreamweaver格式化HTML代码
  • 原文地址:https://www.cnblogs.com/xixixing/p/12207639.html
Copyright © 2011-2022 走看看