课程
/后端开发
/C++
/C++远征之封装篇(下)
为什么return *this指向了一个临时对象而return this能指向原先的arr1?
2015-08-13
源自:C++远征之封装篇(下) 4-8
正在回答
接上补充,如果用函数定义的时候返回类型是 Array&,那返回的也是原来的 arr1。
和返回类型有关, return *this,返回类型是Array,是值传递,返回后会先copy出一个临时对象,而return this是返回Array*类型,返回值本质上也是值传递,生成一个临时指针对象,但是这个对象内容是指向Array的地址。
举报
封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通