c++引用初识

EF360013-A431-4F21-B7E0-72379978E20F.png
#include <iostream>


int testFunc(){
    int a  = 10;
    
    return a;
}

int& testFunc2(){
    int a = 20;
    
    return a;
  
}

int& testFunc3(){
    static int a = 30;
    
    return a;

}


int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    
    
    int a1 = testFunc();
    int a2 = testFunc2();
    int& a3 = testFunc2();
    
    int& a4 = testFunc3();
    
    printf("a1:%d\n",a1);//a1:10
    printf("a2:%d\n",a2);//a2:20
    printf("a3:%d\n",a3);//a3:0
    printf("a4:%d\n",a4);//a4:30
    
    testFunc3() = 200;
    int a5 = testFunc3();
    printf("a5:%d\n",a5);//a5:200
    printf("a4:%d\n",a4);//a4:200  a4获取的是全局变量的引用,所以当全局区值改变的时候,a4也发生改变了

    int &a6 = a5;
    
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容