12-4有关返回对象的说明

12.4有关返回对象的说明

12.4.1返回指向const对象的引用

说明

1.返回对象将调用复制构造函数(如果初始化新创建的对象),而返回引用不会

2.引用指向的对象应当在函数执行时存在

3.const引用与返回的值类型匹配

12.4.2返回指向非const对象的引用

说明

返回非const对象,某些原因是能直接再次调用这个对象

例如:cin.getline().getline()

12.4.3返回对象

如果被返回的对象是被调用函数中的局部变量,则不该按引用方式返回它。

12.4.4返回const对象

force1 + force2 = net;
//之所以能使用这种语句,是因为force1+force2返回值创建了一个临时对象,再将net赋值给它

为了避免这种情况的发生,可以采用const对象的返回类型,这样上述语句就会报错