码迷,mamicode.com
首页 > 编程语言 > 详细

C++内联函数

时间:2017-11-26 19:41:29      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:inline   代码   自动   保存   安全性   效率   结构   构造函数   deb   

1、内联函数是可调试的,在debug版本中没有实现真正的内联,release中才会。

2、内联函数的函数声明和函数代码放在符号表(编译器搜集和保存字面常量和某些符号常量的地方)中,编译器对函数进行类型安全性检查,如果正确则替换调用语句,省去函数调用开销。

3、assert是debug版本才生效的一个宏,不是内联函数。

4、内联机制具备宏的效率,代码安全性,额可以自由操作类的数据成员(this地址放在合适的地方,宏在预处理不能做到)。

5、内联函数的inline和函数体定义放在一起,和函数声明不起作用(一般函数声明不加inline)。

6、类声明中的成员函数会自动转为内联函数。(构造函数和析构函数可能会调用基类的函数,所以不能轻易将其转为内联函数)。

7、内联容易使得代码膨胀过大,函数体内有循环或复杂控制结构,执行函数体代码时间对函数调用多。。

8、编译器会对inline函数优化,自动取消内联。

C++内联函数

标签:inline   代码   自动   保存   安全性   效率   结构   构造函数   deb   

原文地址:http://www.cnblogs.com/liaoyiwang/p/7899776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!