函数返回值为引用类型
2012-10-21 21:50
190 查看
函数返回值为引用类型
?从输出可以看出:
对象a的起始地址与函数f2()的返回值地址相同,f2()的返回为引用;
对象b的地址与对象a的地址不同,两个对象在内存中占有独立的空间,利用返回的引用类型初始化b,而不是在内存中再生成一个a对象的副本,然后再初始化b;
对象a的起始地址与函数f1()的返回值地址不相同,f1()的返回不是引用,在内存中生成了一个对象a的副本;
函数f()返回局部对象的引用是会有警告的,因为函数返回后,局部变量的内存将被释放,选用这个例子只是为了测试编译器在返回是临时对象的引用时是怎样处理的。可以看出,即使是返回一个临时对象的引用,编译器也不会为了确保安全而生成一个临时对象返回。
相关文章推荐
- 黑马程序员_学习日记37_601基础加强(enums_truct_类型转换_值类型与引用类型_异常处理_函数返回值)
- 函数返回值是否使用引用类型的问题:理解引用、返回值
- 函数有返回值且返回值为引用类型的问题返回null
- 函数返回值是否使用引用类型的问题:理解引用、返回值
- 函数返回值:引用类型和非引用类型
- 函数返回值为自定义的类型与引用类型的区别
- 函数返回值为引用类型
- 函数返回值是否使用引用类型的问题:理解引用、返回值
- 【转】C++函数——指针和引用类型的参数传递
- 函数参数为指针类型(指针的指针&指针的引用)
- C++引用与函数返回类型
- 形式参数,返回值: 引用类型
- 对象的引用调用private类型函数的问题
- 如何"引用"传递参数从一个函数中得到多个返回值
- 如果从函数中返回局部变量的地址,引用或者指针的形式,则变量类型必须是静态的或者常量,即不在栈中存储
- 引用作为函数返回值的情况
- java--引用类型返回值解析
- c++函数参数类型-引用、指针、值
- 列表初始化返回值,函数的尾置返回类型
- 【Go入门教程5】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)