13_细谈内联函数inline
程序员文章站
2022-04-11 13:01:17
...
1、宏函数(带参数的宏)的缺点:
第一:在c中也会出现,宏看起来像一个函数调用,但是会有隐藏一些难以发现的错误(比如参数的完整不能完全避免)。
第二:是c++特有的,预处理器不允许访问类的成员,也就是说预处理器宏不能用作类的成员函数。
2、内联函数的特点:
内联函数:内联函数为了继承宏函数的效率,没有函数调用时开销,然后又可以像普通函数那样,可以进行参数,返回值类型的安全检查,又可以作为成员函数
内联函数:是一个真正的函数。函数的替换 发生在编译阶段
inline int my_mul(int x,int y)
{
return x*y;
}
void test01()
{
cout<<"my_mul = "<<my_mul(10+10,20+20)<<endl;
}
任何在类内部定义的函数自动成为内联函数。
3、内联函数条件:
1、不能存在任何形式的循环语句
2、不能存在过多的条件判断语句
3、函数体不能过于庞大 不能对函数进行取址操作