概念
c++从c中继承了一个重要特征那就是效率,在c语言中我们经常把一些短并且执行频繁的计算写成宏,而不是函数,这样做的理由是为了执行效率,宏可以避免函数调用的开销,这些都由预处理来完成。但是在c++出现之后,使用预处理宏会出现两个问题:
(1)第一个在c中也会出现,宏看起来像一个函数调用,但是会有隐藏一些难以发现的错误。
‘(2)第二个问题是c++特有的,预处理不允许访问类的成员,也就是说预处理宏不能用作类的成员函数。
为了保持预处理宏的效率又增加安全性,而且还能像一般成员函数那样可以在类里访问自如,c++引入了内联函数的概念。
内联函为了继承宏函数的效率,没有函数调用时开销,然后又可以像普通函数那样,可以进行参数,返回值类型的安全检查,又可以作为成员函数。
条件
(1)不能存在任何形式的循环语句
(2)不能存在过多的条件判断语句
(3)函数体不能过于庞大
(4)不能对函数进行取址操作