8.2.4 将引用用于结构和类
1,注意:accumulate(dup, five) = four 为什么可行。因为函数的返回值是一个引用,会成为一个左值,所以能够赋值。在返回引用的时候,不要让其指向一个临时的变量的引用,在函数运行完毕后,临时变量将会被销毁。
2,引用与传统返回机制的不同:传统的返回机制与按值传递函数参数类似;计算return后的表达式,将结果返回给调用的函数,从概率上来说,这个值被复制到一个临时的位置。(相当于一个右值)。
3,为何将const用于返回类型:请注意accumulate(dup, five) = four这条语句,在赋值语句中左边必须是可以修改的左值,也就是说左边必须是一个可以修改的内存快,另一方面,常规(非引用)返回类型是右值——不能通过地址访问的值,这种表达式可以出现在赋值语句的右边,单不能出现在左边,其他右值包括字面值,表达式。添加const会保证不被修改,成为不可修改的左值。
8.2.6 对象,继承,和引用
1,继承:能够将特性从一个类传递到另一个类的语言的特性被称为继承。基类的引用可以接收派生类,和基类对象。而不需要进行强制类型转换。