标签:inline 代码 自动 保存 安全性 效率 结构 构造函数 deb
1、内联函数是可调试的,在debug版本中没有实现真正的内联,release中才会。
2、内联函数的函数声明和函数代码放在符号表(编译器搜集和保存字面常量和某些符号常量的地方)中,编译器对函数进行类型安全性检查,如果正确则替换调用语句,省去函数调用开销。
3、assert是debug版本才生效的一个宏,不是内联函数。
4、内联机制具备宏的效率,代码安全性,额可以自由操作类的数据成员(this地址放在合适的地方,宏在预处理不能做到)。
5、内联函数的inline和函数体定义放在一起,和函数声明不起作用(一般函数声明不加inline)。
6、类声明中的成员函数会自动转为内联函数。(构造函数和析构函数可能会调用基类的函数,所以不能轻易将其转为内联函数)。
7、内联容易使得代码膨胀过大,函数体内有循环或复杂控制结构,执行函数体代码时间对函数调用多。。
8、编译器会对inline函数优化,自动取消内联。
标签:inline 代码 自动 保存 安全性 效率 结构 构造函数 deb
原文地址:http://www.cnblogs.com/liaoyiwang/p/7899776.html