8.1 内联函数
关键字:inline
就是在应该放函数原型的地方直接把整个函数的定义确定,意义在于可以直接使用函数,不用跳到另一个地址去调用函数
8.2 引用变量
用&符号进行定义
int rats;
int & rodents = rats;
此处&是类型标识符的一部分,如同char*表示指向char的指针
int &表示指向int的引用
引用和指针的区别:声明引用时必须初始化,不能如指针先声明再赋值
所以引用更接近const指针
8.2.2 引用作为函数参数
用引用作为函数参数,则相当于给传入的实参进行一次引用创建,而不是普通按值传递一样创建一个副本
所以传递引用的时候可以修改原始数据
8.2.3 引用的特点
当意图为让函数使用其传递的信息而不改变其原始数据的话,应当使用常量引用
当数据比较大时使用引用更好
8.2.4 引用运用与结构
返回值用引用,可以大幅减少内存占用,普通return机制是将值复制到一个临时位置,然后将其赋值。引用就可以免去临时位置储存的内存。
8.2.5 引用运用于类
程序清单8.7
错误点:version3所指的意义是返回一个const string &类型,而在函数的设计中,返回的是一个在函数中声明的变量。所以结果是返回一个临时变量的引用。而该变量在函数结束的时候已经不存在,返回一