gpt4 book ai didi

c++中的内联函数inline用法实例

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章c++中的内联函数inline用法实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 修饰符,表示为内联函数.

例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#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.内联函数最好放在头文件中.

以上就是本次介绍的全部知识点内容,感谢大家的学习和对我的支持.

原文链接:https://www.cnblogs.com/fanhua666/p/11512428.html 。

最后此篇关于c++中的内联函数inline用法实例的文章就讲到这里了,如果你想了解更多关于c++中的内联函数inline用法实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com