下载此文档

钱能C程序设计教程ppt课件.ppt


文档分类:IT计算机 | 页数:约43页 举报非法文档有奖
1/43
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/43 下载此文档
文档列表 文档介绍
C++程序设计教程(第二版)第六章性能Chapter6Performance清华大学出版社钱能2020/9/221提高性能的意义:性能对提高编程能力举足轻重如何提高性能? 以合理使用资源为前提,,提高效率就能提高性能学****目标:,对同一问题的不同要求,模仿各种编程技巧与空间布局策略,,,学会测算时/空交换的代价,客观评估自身的编程能力2020/9/222第六章内容内联函数(InlineFunctions)数据结构(DataStructures)算法(Algorithms)数值计算(putation)STL算法(STLAlgorithms)动态内存(DynamicMemory)低级编程(LowerProgramming)2020/9/(InlineFunctions)做法:将一些反复被执行的简单语句序列做成小函数用法:在函数声明前加上inline关键字作用:不损害可读性又能提高性能2020/9/224//==================================#include<iostream>boolisDigit(char);//小函数intmain(){for(charc;cin>>c&&c!='\n';)if(isDigit(c))std::cout<<“Digit.\n";elsestd::cout<<“NonDigit.\n";}//---------------------------------boolisDigit(charch){returnch>='0'&&ch<='9'?1:0;}//=================================频繁调用的函数:用昂贵的开销换取可读性2020/9/225//================================#include<iostream>intmain(){for(charc;cin>>c&&c!='\n';)if(ch>='0'&&ch<='9'?1:0)std::cout<<“Digit.\n";elsestd::cout<<“NonDigit.\n";}//===============================内嵌代码:开销虽少,但可读性差2020/9/226内联方式:开销少,可读性也佳//==================================#include<iostream>inlineboolisDigit(char);//小函数intmain(){for(charc;cin>>c&&c!='\n';)if(isDigit(c))std::cout<<"Digit.\n";elsestd::cout<<"NonDigit.\n";}//---------------------------------boolisDigit(charch){returnch>='0'&&ch<='9'?1:0;}//=================================内联标记放在函数声明的前面2020/9/227内联函数的使用经验:函数体适当小,且无循环或开关语句,这样就使嵌入工作容易进行,:排序函数不能内联程序中特别是在循环中反复执行该函数,:上例中的isDigit函数程序并不多处出现该函数调用,这样就使嵌入工作量相对较少,代码量也不会剧增2020/9/228//======================================#include<iostream>#include<time>usingnamespacestd;//--------------------------------------intcalc1(inta,intb){returna+b;}inlineintcalc2(inta,intb){returna+b;}//--------------------------------------intmain(){intx[1000],y[1000],z[1000];clock_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\n";t=clock();for(inti=0;i<1000*1000*1000;++i)z[i]=calc2(x[i%1000],y[i%1000]);cout<<(cl

钱能C程序设计教程ppt课件 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数43
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ogthpsa
  • 文件大小125 KB
  • 时间2020-09-22