美文网首页C语言C++
C++内联函数,小白确定不看看?

C++内联函数,小白确定不看看?

作者: C语言程序狮 | 来源:发表于2018-06-04 15:04 被阅读175次

为什么要有这玩意

作用:减少函数调用的开销

bool isBig(int a,int b) {

return a > b;

}

// isBig函数会无数次的被调用,调用的过程,耗时耗内存

void main() {

int a = 1;

int b = 2;

while(true) {

if (isBig()) {

// ...

}

}

}

--- 假如isBig函数是内联函数,那么编译器会编译成这样 ---

void main() {

int a = 1;

int b = 2;

while(true) {

if (a > b) { // 把isBig的函数体,直接拿过来,上面的问题就不存在了

// ...

}

}

}

用法

定义

// 1.内联函数

inline bool isBig(int a,int b) {

return a > b;

}

// 2.内联成员函数

class B{

// func1和func2都是内联成员函数

// 1. 用inline关键字明确指定为内联成员函数

inline void func1();

// 2. 在类中,定义并实现的函数,自动定义为内联成员函数

void func2() {

};

};

普通函数和内联函数

什么时候用(满足以下至少一条): 

1.函数体很短

2.函数被多次调用

还有许多知识点小编不好一个一个举例,需要更多干货或者想学习交流的小伙伴加一下我自己的裙:775356268谢谢大家的支持。

相关文章

网友评论

    本文标题:C++内联函数,小白确定不看看?

    本文链接:https://www.haomeiwen.com/subject/jkxysftx.html