1.引用
//引用是一个变量的别名, 别名是依赖原名
//普通引用必须要初始化
// 引用是有空间的 4 字节
// 引用的本质是 一个 常指针
// 整型数据占 4 个字节的空间,a 是一个标识符,这个标识符就代表这一块空间
// 对这个标识符操作就相当于操作这块空间
int a = 10;
// 给这个 4 字节的空间取个别名 a 是大名 其他都叫别名
// 类型 &别名 = 原名
// b 是 a的一个别名, b 也代表a所表示的4字节空间
// 对 b 操作实际上就是对 a 操作
// 引用的对象是不可改变的,所以引用必须要初始化
int &b = a;
2.内联函数
// C++建议用 内联函数来代替宏函数
// 内联函数 内联编译的函数 和 宏函数很像,都是做的代码替换,在调用的地方用函数体进行替换
// 所以也没有函数的入栈和出栈开销
// 内联函数的定义: 在函数定义前加 inline 关键字
// 宏函数在预处理阶段进行处理, 内联函数在编译进行处理
// 内联是一种请求,不一定成功
// 内联函数 函数体不要太大 不要超过 5行
// 不要有任何形式的 循环语句
// 不要有很复杂的判断语句
// 内联请求一旦成功,函数体在程序运行的时候是不存在的 不能作为回掉函数来使用
// 不能对内联函数取地址
3.函数重载
// 函数重载:用同一个函数名字,通过匹配不同的参数调用不同的函数
// 函数的参数个数不同
// 参数的类型一样
// 参数的顺序不同
// 函数的返回值类型不能作为重载的判断条件