C++内联函数的作用

本方转自:https://blog.csdn.net/wssjn1994/article/details/83749735

 

#include <iostream>
#include <sys/time.h>
using namespace std;
 
inline void func()
{
	int a = 0;
	a++;
}
 
int main()
{
	struct timeval start_t, end_t;
	double n_time = 0.0;
	gettimeofday(&start_t, NULL);
	for( int i = 0 ; i < 1000000000 ; i++ )
	{
		func();
	}
	gettimeofday(&end_t, NULL);
	n_time = ((end_t.tv_sec - start_t.tv_sec)*1000*1000 + (end_t.tv_usec - start_t.tv_usec))/1000.0;
	cout << "n_time = " << n_time << endl;
	return 0;
}

  

增加了 inline 关键字的函数称为“内联函数”。内联函数和普通函数的区别在于:当编译器处理调用内联函数的语句时,不会将该语句编译成函数调用的指令,而是直接将整个函数体的代码插人调用语句处,就像整个函数体在调用处被重写了一遍一样。

有了内联函数,就能像调用一个函数那样方便地重复使用一段代码,而不需要付出执行函数调用的额外开销。很显然,使用内联函数会使最终可执行程序的体积增加。以时间换取空间,或增加空间消耗来节省时间
————————————————
版权声明:本文为CSDN博主「wssjn1994」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wssjn1994/article/details/83749735

posted on 2019-10-31 16:30  dudu2011  阅读(712)  评论(0编辑  收藏  举报

导航