设为首页 加入收藏

TOP

关于C++中的内联函数(inline)
2014-11-21 22:40:25 】 浏览:8122
Tags:关于 内联 函数 inline

  在c++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数。


  下面我们来看一个例子:


  #include


  #include


  using namespace std;


  inline string dbtest(int a); //函数原形声明为inline即:内联函数


  void main()


  {


  for (int i=1;i<=10;i++)


  {


  cout << i << ":" << dbtest(i) << endl;


  }


  cin.get();


  }


  string dbtest(int a)//这里不用再次inline,当然加上inline也是不会出错的


  {


  return (a%2>0) "奇":"偶";


  }


  上面的例子就是标准的内联函数的用法,使用inline修饰带来的好处我们表面看不出来,其实在内部的工作就是在每个for循环的内部所有调用 dbtest(i)的地方都换成了(i%2>0) "奇":"偶"这样就避免了频繁调用函数对栈内存重复开辟所带来的消耗。


  说到这里很多人可能会问,既然inline这么好,还不如把所谓的函数都声明成inline,嗯,这个问题是要注意的,inline的使用是有所限制的,inline只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句例如while switch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数)。


  关于内联函数的更多例子我就不一一举出了,灵活的使用也多靠学习者本身,我只在此抛砖引玉,让大家尽可能多的学习到c++中的一些新的先进的特性知识点。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Gauss消元法求解线性方程组 下一篇VCADO调用存储过程并获得返回值

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目