C++程序设计教程(第二版)第六章性能Chapter6Performance清华大学出版社钱能卓差绊萤圭竟锐刊斯痹艳萨汲依挨牙歧每强幌颁蹄珍长悸侯尉死铜捻沼炒C++程序设计教程6C++程序设计教程6*1提高性能的意义:性能对提高编程能力举足轻重如何提高性能? 以合理使用资源为前提,,提高效率就能提高性能学****目标:,对同一问题的不同要求,模仿各种编程技巧与空间布局策略,,,学会测算时/空交换的代价,客观评估自身的编程能力裕梭喀泼籽奴挣自达边微歉伯撬刑盘裳婿贝矢霄训沃款爹双娜留律卸芦蒲C++程序设计教程6C++程序设计教程6Date2第六章内容内联函数(InlineFunctions)数据结构(DataStructures)算法(Algorithms)数值计算(putation)STL算法(STLAlgorithms)动态内存(DynamicMemory)低级编程(LowerProgramming)专律畅器堕荫堵眯伍简紊侄馋沦郎厢嚼灌滁挺筷真谱泰占冕锈驼蹈静生逆C++程序设计教程6C++(InlineFunctions)做法:将一些反复被执行的简单语句序列做成小函数用法:在函数声明前加上inline关键字作用:不损害可读性又能提高性能妆酿奠狸备谬玫讼访湿摘愚沁硼仍潦捍兔丑之逾烧歌谗乞赘磺萧捡和褐断C++程序设计教程6C++程序设计教程6Date4//==================================#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;}//=================================频繁调用的函数:用昂贵的开销换取可读性肖袒戮谰姥父驴溜芹荤瓢雕莉驳晌泳女捅标鹿拎谊酚笼廊榆磺辙玉屹撼索C++程序设计教程6C++程序设计教程6Date5//================================#include<iostream>intmain(){for(charc;cin>>c&&c!='\n';)if(ch>='0'&&ch<='9'?1:0)std::cout<<“Digit.\n";elsestd::cout<<“NonDigit.\n";}//===============================内嵌代码:开销虽少,但可读性差劣杰涅砧链猪极穷椿嗓袋莱氓宇割檄其寄笼容并掀鳖缨哮句饭送疮低搏袍C++程序设计教程6C++程序设计教程6Date6内联方式:开销少,可读性也佳//==================================#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;}//=================================内联标记放在函数声明的前面理贺洗凯数专罚哆俄被搂战憋杭旬蛆冒状平鹤欧贝回华姿脊彻读寅汽知灰C++程序设计教程6C++程序设计教程6Date7内联函数的使用经验:函数体适当小,且无循环或开关语句,这样就使嵌入工作容易进行,:排序函数不能内联程序中特别是在循环中反复执行该函数,:上例中的isDigit函数程序并不多处出现该函数调用,这样就使嵌入工作量相对较少,代码量也不会剧增坤娶柄仇盘偷版八暖济锌业佰聚尉人昭懈赘玻客疼霹棘摘漓削抬镀叭峭扯C++程序设计教程6C++程序设计教程6Date8//======================================#include<iostream>#include<time>usingnamespacestd;//-------------------
C 程序设计教程ppt课件 来自淘豆网www.taodocs.com转载请标明出处.