码迷,mamicode.com
首页 > 其他好文 > 详细

学习笔记 内联函数

时间:2015-03-15 21:24:30      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:内联函数   头文件   c++ primer   

1.      什么是内联函数?

 

 

内联函数,从形式上看就是普通函数首部前添加了一个inline,形式如下

inline(参数列表)

{

//语句

};

 

2.      为什么引进内联函数?

 

内联函数与普通函数的区别在于,内联函数的调用不会转移程序控制权,而是在调用点处进行”内联”展开函数体,类似于宏展开(区别在于宏展开是由预处理器负责,而内联展开由编译器负责)。这样一来,可避免普通函数调用带来的开销。

 

 

3.      什么情况适合用内联函数?

当代码量只有几行(一般5行以内),语句简单的时候。

因为,如果代码量大,会导致展开后的程序出现大量的重复“内联代码”,会消耗空间。

    

    内联函数一般放置于头文件中。程序中多个源文件关于一个内联函数的定义必须保持一致。

 

4.几点注意事项

   递归函数不能作为内联函数(显然不能,总不能递归展开代码吧)

   含有控制语句和开关语句的不能作为内联函数。

   “inline”只是一个请求,编译器可根据实际情况,选择强制函数为普通函数。

学习笔记 内联函数

标签:内联函数   头文件   c++ primer   

原文地址:http://blog.csdn.net/aq14aq1/article/details/44280439

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