c++不常用功能之——内联函数

理解:

一、定义

百度百科:内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。

二、为什么需要这个功能,没有这个功能怎么办

百度百科:内联扩展是用来消除函数调用时的时间开销。它通常用于频繁执行的函数。 一个小内存空间的函数非常受益。

编译器可以决定哪些函数内联 。 程序员很少或没有控制哪些只能是内联的,哪些不是。 给这种控制程度,作用是程序员可以选择内联的特定应用 。

三、该功能的具体应用

C++有三种方式实现内联函数:

1. 将函数的定义写在类定义的内部;

2. 在类定义内部的函数声明上用inline显式指定;

3. 在类定义体外部的函数实现上用inline显式指定;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
using  namespace  std;
class  Sample
{
public :
     void  inline01(){cout<< "haha 01"  << endl;}
     inline  void  inline02()  const ;
};
 
void  Sample::inline02()  const
{
     cout <<  "haha 02"  << endl;
}
inline  void  inline03()
{
    cout <<  "haha 03"  << endl;
}
int  main( int  argc,  char * argv[]){
     Sample s;
     s.inline01();
     s.inline02();
     inline03();
     return  0;
}

参考文献:

http://www.jb51.net/article/48622.htm

http://www.cnblogs.com/whyandinside/archive/2012/09/23/2698952.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值