从品牌网站建设到网络营销策划,从策略到执行的一站式服务
内联函数是为了提高程序运行速度的一种改进。
创新互联建站专注于通城企业网站建设,响应式网站开发,商城网站制作。通城网站建设公司,为通城等地区提供建站服务。全流程按需定制,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
当程序运行时,有时候需要重复调用一个函数,但是因为重复调用这个函数,会不断的造成函数调用,
会不断进栈出栈造成cpu的消耗。
而内联函数是在编译时就将这个函数边入进去,不用再进行地址的跳转。但是不可避免的产生了一些
内存的消耗,所有有时候用户在申请内联时,内联函数过于大,编译器不会进行允许
例如:
#include
#include
#include
using namespace std;
int m = 10;
inline int a(int x){ return x; }//在内联函数中的时间为3031ms
//int a(int x){ return x;} //一般情况用了3844ms
int main(){
cout << "start" << endl;
long int sum = 0;
int istart;
istart = GetTickCount();
for (long int i = 1; i <= 100000000; i++){
sum+=a(i);
}
cout << sum << endl;
cout << GetTickCount() - istart <<"ms"<< endl;//计算运算时间
system("pause");
return 0;
}
可以看出他们的运行模式确实不同。
宏:
#define a(x) x //把a(x) 替换成x ;//注意不加区别的替换。
由运行结果可以看出很明显这里运行速度远快于普通方式和内联方式;
但是需要注意,
#define SQUARE(x) x*x;
//#define SQUARE(x) ((x)*(x));
using namespace std;
int m ;
int main(){
m = SQUARE(1 + 3);
cout << m << endl;
system("pause");
return 0;
}
这里运行结果为7 因为是这样计算的 1+3*1+3
所以可以改为蓝字写的
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图