C++程序设计教程(I)

C++程序设计教程(I)

ID:39305493

大小:215.26 KB

页数:43页

时间:2019-06-30

C++程序设计教程(I)_第1页
C++程序设计教程(I)_第2页
C++程序设计教程(I)_第3页
C++程序设计教程(I)_第4页
C++程序设计教程(I)_第5页
资源描述:

《C++程序设计教程(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++程序设计教程(第二版)第六章性能Chapter6Performance清华大学出版社钱能7/15/20211提高性能的意义:性能对提高编程能力举足轻重如何提高性能?以合理使用资源为前提,尽快完成任务的能力称为效率.效率影响性能,提高效率就能提高性能学习目标:1.扩展视野,对同一问题的不同要求,模仿各种编程技巧与空间布局策略,予以应对.从而对各种不同的问题,亦能应变自如2.掌握测试性能的方法,学会测算时/空交换的代价,客观评估自身的编程能力7/15/20212第六章内容内联函数(InlineFunction

2、s)数据结构(DataStructures)算法(Algorithms)数值计算(NumericalComputation)STL算法(STLAlgorithms)动态内存(DynamicMemory)低级编程(LowerProgramming)7/15/202131.内联函数(InlineFunctions)做法:将一些反复被执行的简单语句序列做成小函数用法:在函数声明前加上inline关键字作用:不损害可读性又能提高性能7/15/20214//================================

3、==#includeboolisDigit(char);//小函数intmain(){for(charc;cin>>c&&c!='';)if(isDigit(c))std::cout<<“Digit.";elsestd::cout<<“NonDigit.";}//---------------------------------boolisDigit(charch){returnch>='0'&&ch<='9'?1:0;}//===========================

4、======频繁调用的函数:用昂贵的开销换取可读性7/15/20215//================================#includeintmain(){for(charc;cin>>c&&c!='';)if(ch>='0'&&ch<='9'?1:0)std::cout<<“Digit.";elsestd::cout<<“NonDigit.";}//===============================内嵌代码:开销虽少,但可读性差7/15/20216

5、内联方式:开销少,可读性也佳//==================================#includeinlineboolisDigit(char);//小函数intmain(){for(charc;cin>>c&&c!='';)if(isDigit(c))std::cout<<"Digit.";elsestd::cout<<"NonDigit.";}//---------------------------------boolisDigit(charch){ret

6、urnch>='0'&&ch<='9'?1:0;}//=================================内联标记放在函数声明的前面7/15/20217内联函数的使用经验:函数体适当小,且无循环或开关语句,这样就使嵌入工作容易进行,不会破坏原调用主体.如:排序函数不能内联程序中特别是在循环中反复执行该函数,这样就使嵌入的代码利用率较高.如:上例中的isDigit函数程序并不多处出现该函数调用,这样就使嵌入工作量相对较少,代码量也不会剧增7/15/20218//===================

7、===================#include#include

8、k_tt=clock();for(inti=0;i<1000*1000*1000;++i)z[i]=calc1(x[i%1000],y[i%1000]);cout<<(clock()-t)/CLK_TCK<<“withoutinline";t=clock();for(inti=0;i<1000*1000*1000;++i)z[i]=calc2(x[i%1000],y[i%1000]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。