- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
a 1—nir 為
ft.n 卜密左用耐厄开
加叫串诜吃E 1同曲it査能
叩乂崔同f的稲斂件內也側咅司酸现不同即7皿旳H
]£义在011沪胡内瓯員茁磁|?區込141谢
I快? 九心尹即]赳询皿 8曲」
僦僅用*“赎盘的内丄“匹遍1(的敷
答案:D
联函数:
Tip :只有当函数只有10行甚至更少时才将其定义为联函数 ?
定义:当函数被声明为联函数之后,编译器会将其联展开,而不是按通常的函数调用机制 进行调用?
优点:当函数体比较小的时候,联该函数可以令目标代码更加高效 ?对于存取函数以及其
它函数体比较短,性能关键的函数,鼓励使用联?
缺点:滥用联将导致程序变慢?联可能使目标代码量或增或减,这取决于联函数的大小? 联非常短小的存取函数通常会减少代码大小 ,但联一个相当大的函数将戏剧性的增加代码
大小.现代处理器由于更好的利用了指令缓存 ,小巧的代码往往执行更快。
结论:一个较为合理的经验准则是,不要联超过10行的函数?谨慎对待析构函数,析构 函数往往比其表面看起来要更长,因为有隐含的成员和基类析构函数被调用 !
另一个实用的经验准则:联那些包含循环或 switch 语句的函数常常是得不偿失 (除非在
大多数情况下,这些循环或switch 语句从不被执行).
注意:有些函数即使声明为联的也不一定会被编译器联 ,这点很重要;比如虚函数和递归函
数就不会被正常联?通常,递归函数不应该声明成联函数.(递归调用堆栈的展开并不像循 环那么简单,比如递归层数在编译时可能是未知的,大多数编译器都不支持联递归函数 ).
虚函数联的主要原因则是想把它的函数体放在类定义 ,为了图个方便,抑或是当作文档描
述其行为,比如精短的存取函数?
-inl.h 文件:
Tip :复杂的联函数的定义,应放在后缀名为-inl.h 的头文件中?
联函数的定义必须放在头文件中,编译器才能在调用点联展开定义 ?然而,实现代码理论 上应该放在.cc 文件中,我们不希望.h文件中有太多实现代码,除非在可读性和性能上 有明显优势.
如果联函数的定义比较短小,逻辑比较简单,实现代码放在.h文件里没有任何问题.比 如,存取函数的实现理所当然都应该放在类定义 .出于编写者和调用者的方便,较复杂的
联函数也可以放到.h文件中,如果你觉得这样会使头文件显得笨重,也可以把它萃取到 单独的-inl.h 中.这样把实现和类定义分离开来 ,当需要时包含对应的-inl.h 即可。
A项错误,因为使用 inline 关键字的函数只是用户希望它成为联函数,但编译器有权
忽略这个请求,比如:若此函数体太大,则不会把它作为联函数展开的。
B项错误,头文件中不仅要包含 inline 函数的声明,而且必须包含定义,且在定义时
必须加上 inline 。【关键字 inline 必须与函数定义体放在一起才能使函数成为
联,仅将 inline 放在函数声明前面不起任何作用】
C项错误, inline 函数可以定义在源文件中,但多个源文件中的同名 inline 函数
的实现必须相同。一般把 in li ne 函数的定义放在头文件中更加合适。
D项正确,类的成员函数,默认都是 inline 的。【定义在类声明之中的成员函数将自
动地成为联函数】
EF项无意思,不管是 class 声明中定义的 inline 函数,还是 class 实现中定义
的in li ne 函数,不存在优先不优先的问题,因为 class 的成员函数都
是in li ne 的,加了关键字 inline 也没什么特殊的
Q [乐舸可
时叶師舲.在昔自屋优备幷下煜下算祛复杂厦副(的是()
臼 “II -
答案:D插入排序
改良的冒泡最优也是n
数组排声算法时间菱竝Qliic 幕 crtTimsurrHeap沁件Bubhle SortInsertion Snrt5电便口ion boil
数组排声算法
时间菱竝
Qliic 幕 crt
Timsurr
Heap沁件
Bubhle Sort
Insertion Snrt
5电便口ion boil
Shell bort
Bucket 5art
Rddir Sort
Sil
0(n log(n))
O(n log(n))
車沟
O(n login
0(n log(n))
0(n logg}
O(n iO9(n)}
O(nA2)
O(ri log))
0(n^2)
0(n log (nJ)
O(n log何)
0(n toq(n))
05呢)
0{nA2)
O(nA2)
O((nlog(n])A2)
O[nA2)
O(nk)
O{log(n))
?[即述I
甲莎牛T?丸才如子召目JJ爲玮芈客砂欢斗远ts忌円护子呈—部SJ家砂北产子.之后将乙押子的希SQ—SS郎 Eff子的液垃吐對豊初的妙匝水f:lS豳合之W的C
您可能关注的文档
最近下载
- 摄像头检验作业指导书.doc VIP
- 《城镇污水污泥流化床干化焚烧技术规程》(征求意见稿).pdf
- 阿奇沙坦非无菌化学原料药车间设计--本科毕业论文.docx VIP
- 办公用品供货服务计划方案.docx VIP
- 用于透明细胞肾细胞癌分型和评估透明细胞肾细胞癌预后的基因及其应用.pdf VIP
- G 正谱 赶圩归来阿里里 林凯 合吧声乐歌谱正谱子五线谱钢琴伴奏谱乐谱曲 谱弹唱谱歌曲乐曲.pdf VIP
- 零星工程施工方案范本(3篇).docx VIP
- 新疆四史应知应会内容.doc VIP
- 眼科显微器械的清洗流程.pptx VIP
- Lesson9-10Howareyoutoday(课件)新概念英语第一册.pptx VIP
文档评论(0)