美文网首页
4.引用做函数返回值

4.引用做函数返回值

作者: lxr_ | 来源:发表于2021-01-15 15:40 被阅读0次
#include<iostream>
using namespace std;

//引用做函数的返回值
//1.不要返回局部变量的引用

int& test1()
{
    int a = 10;//存于栈区
    return a;
}
//2.函数的调用可以作为左值
int& test2()
{
    static int a = 10;//静态变量存放在全局区,全局区上的数据在程序结束后系统进行释放
    return a;
}

int main()
{
    /*
    int& ret = test1();
    cout << "ret=" << ret << endl;//第一次结果正确,是因为编译器做了保留
    cout << "ret=" << ret << endl;//第二次结果错误,因为a的内存已经被释放
    */

    int& ret1 = test2();
    cout << "ret=" << ret1 << endl;//程序未结束,static变量内存不会被释放
    cout << "ret=" << ret1 << endl;//

    test2() = 20;//可以作为左值,返回a的引用,即为a的别名,便可以修改a
    cout << "ret=" << ret1 << endl;//
    cout << "ret=" << ret1 << endl;//

    system("pause");
    return 0;
}

相关文章

  • 4.引用做函数返回值

  • 19-01-07b变量作为函数的返回值=高阶函数

    4.变量作为函数的返回值函数1作为函数2的返回值 - 函数2是返回值高阶函数

  • Linux 命令 & shell 脚本之09(函数)

    1.使用函数 2.函数返回值(默认退出状态码) 3.函数返回值(使用 return 命令) 4.函数返回值(使用函...

  • 基本函数的写法

    1.无参数无返回值的函数 2.有参数无返回值的函数 3.无参数有返回值的函数 4.有参数有返回值的函数

  • 基本的函数写法

    1.无参数无返回值的函数 2.有参数无返回值的函数 3.无参数有返回值的函数 4.有参数有返回值的函数

  • 基本函数的写法

    1.无参数无返回值 2.有参数无返回值的函数 3.无参数有返回值的函数 4.有参数有返回值的函数

  • Swift-函数

    简单函数 1.函数 2.函数参数 3.外部参数 4.函数返回值

  • js总结(4.函数)

    函数 ** 1.函数** 2.定义函数 3.定义带参函数 4.带有返回值的函数

  • Go语言-函数

    一.函数的定义 1 表达式作为返回值 2 定义变量接收返回值 3 在函数定义时定义接收变量 4.不定参函数... ...

  • GO学习笔记04

    一、函数 1.不定参数函数(直接来难的) 2.参数传递 3.有返回值的函数 4.函数有多返回值 5.注意事项 6....

网友评论

      本文标题:4.引用做函数返回值

      本文链接:https://www.haomeiwen.com/subject/boruaktx.html