1、内联函数:
在声明和定义内联函数前需要加关键字inline,内联函数和普通函数一样都是按值传递。
2、引用变量:
引用变量的主要用途是用作函数的形参,通过将引用变量做参数,函数将使用原始数据,而不是其副本。
int rats;
int & rodents = rats;
上述例子中的&不是地址运算符,而是类型标识符的一部分,int &是指指向int的引用,上述引用声明允许将rats和rondents互换,指向相同的值和内存单元。
即rondents是rats的别名,但是实际上都指代同一对象。
之后在rondents上的操作和在rats上的操作输出都是一样的——rondents和rats的值和地址都是相同的。
在进行引用操作时就必须进行初始化,但是指针可以先声明再赋值。
3、将引用用于结构
例子
struct free_throws
{
std::string name;
int made;
int attempts;
float percent;
};
// 使用引用时可以如下进行函数原型编写
void set_pc(free_throws & ft);
// 如果不希望函数修改传入的结构,可使用const
void display(const free_throws & ft);
继承的另一个特征是,基类引用可以指向派生类的对象,而无需进行强制类型转换
3、默认参数
实参按从左到右的顺序依次被赋值给相应的形参,而不能跳过任何参数。
4、函数重载
能取地址的为左值
不能取地址的为右值
函数重载的关键是函数的参数列表,也称为函数特征标