温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c++中如何使用inline内联函数

发布时间:2021-07-06 17:39:31 来源:亿速云 阅读:149 作者:Leah 栏目:编程语言

c++中如何使用inline内联函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

问题描述:类中成员函数缺省默认是内联的,如果在类定义时就在类内给出函数定义,那当然最好。如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。内联函数的inline要加在函数前面,不可以加在声明前面。

class A{  public:void Foo(int x, int y) { } // 自动地成为内联函数}//正确写法:// 头文件class A{  public:  void Foo(int x, int y);}// 定义文件inline void A::Foo(int x, int y){} //错误写法:inline void Foo(int x, int y); // inline 仅与函数声明放在一起void Foo(int x, int y){}

1. 内联函数作用:为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。

例子:

#include <stdio.h>//函数定义为inline即:内联函数inline char* dbtest(int a) {  return (i % 2 > 0) ? "奇" : "偶";}  int main(){  int i = 0;  for (i=1; i < 100; i++) {    printf("i:%d  奇偶性:%s /n", i, dbtest(i));    }}

内联函数是在程序编译的时候替换的方式加入程序中的。

2. 内联函数使用的限制:

inline 的使用是有所限制的,inline 只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如 while、switch,并且不能内联函数本身不能是直接递归函数(即,自己内部还调用自己的函数)。

代码较长,内部出现循环不适合使用内联函数。

3. 内联函数只是一个对编译器的建议,具体实不实现看编译器认为函数复不复杂。

4.内联函数最好放在头文件中。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI