VS查看内联函数的本质和宏

什么是内联函数

使用inline修饰函数的声明或者实现,可以使其变成内联函数 (建议声明和实现都增加inline修饰)

特点

1.编译器会将函数调用直接展开为函数体代码
2.可以减少函数调用的开销
3.会增大代码体积

注意 尽量不要内联超过10行代码的函数
有些函数即使声明为inline,也不一定会被编译器内联,比如递归函数
适用于函数体代码较小且频繁调用的函数

#include <iostream>
using namespace std;
inline int sum(int v1, int v2) {
	return v1 + v2;
}
int main() {
	int c=sum(10,20);
	cout << c << endl;
	getchar();
	return 0;
}

关闭编译器优化

右击属性
在这里插入图片描述

内联之前

在这里插入图片描述

内联之后

在这里插入图片描述

内联函数和宏,都可以减少函数调用的开销
对比宏,内联函数多了语法检测和函数特性
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章