c++内联函数

// h_mingcheng.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include 
using namespace std;
inline void printab(int a,int b)//内联函数没有压栈出栈了//适用于代码较少且频繁使用
{
	cout << a<<"    " << b << endl;
}
int main()
{
	int a = 10;
	int b = 20;
	for (int i = 0; i < 20; i++)
	{
		a++;
		b++;
		printab(a, b);
	}
	
}

1.内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略掉内敛请求
2.C++编译器直接将函数体插入到函数调用的地方
3.内联函数没有普通函数调用时的额外开销(压栈,跳转,返回)
4.内联函数是一种特殊的函数,具有普通函数的特征(参数检查,返回类型等)
5内联函数由编译器处理,直接将编译后的函数体插入到调用的地方,宏代码片段由预处理器处理,进行简单的文本替换,没有编译过程。
6.C++中内联编译的限制。

适用于函数体很小,且被频繁的调用。

你可能感兴趣的:(c++)