大白的不懂,wangwanganswer

这里我想问一下,c++ return的值到底是个什么值

  1. int&test()

    static int a=10;
    return a;

    这个返回的a是数值10还是&a

test() 是 int&
就是返回的a的地址 &a

返回值是一个左值(左值是代表一个内存地址值,通过这个内存地址,就可以对内存进行读写操作),也就是返回的a的地址 &a,并且返回的类类型引用可以直接调用成员函数来修改,返回的类类型不会调用复制构造函数