阿里巴巴2017年度实习生笔试题(含答案解析)[实用].pdfVIP

阿里巴巴2017年度实习生笔试题(含答案解析)[实用].pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. 答案: D 内联函数: Tip : 只有当函数只有 10 行甚至更少时才将其定义为内联函数 . 定义 : 当函数被声明为内联函数之后 , 编译器会将其内联展开 , 而不是按通常的函数调用机 制进行调用 . 优点 : 当函数体比较小的时候 , 内联该函数可以令目标代码更加高效 . 对于存取函数以及其 它函数体比较短 , 性能关键的函数 , 鼓励使用内联 . 缺点 : 滥用内联将导致程序变慢 . 内联可能使目标代码量或增或减 , 这取决于内联函数的大 小. 内联非常短小的存取函数通常会减少代码大小 , 但内联一个相当大的函数将戏剧性的增 加代码大小 . 现代处理器由于更好的利用了指令缓存 , 小巧的代码往往执行更快。 结论 : 一个较为合理的经验准则是 , 不要内联超过 10 行的函数 . 谨慎对待析构函数 , 析构 函数往往比其表面看起来要更长 , 因为有隐含的成员和基类析构函数被调用 ! 另一个实用的经验准则 : 内联那些包含循环或 switch 语句的函数常常是得不偿失 (除非 在大多数情况下 , 这些循环或 switch 语句从不被执行 ). 注意: 有些函数即使声明为内联的也不一定会被编译器内联 , 这点很重要 ; 比如虚函数和递 1 / 21 . 归函数就不会被正常内联 . 通常 , 递归函数不应该声明成内联函数 .(递归调用堆栈的展开并 不像循环那么简单 , 比如递归层数在编译时可能是未知的 , 大多数编译器都不支持内联递归 函数 ). 虚函数内联的主要原因则是想把它的函数体放在类定义内 , 为了图个方便 , 抑或是 当作文档描述其行为 , 比如精短的存取函数 . -inl.h 文件: Tip : 复杂的内联函数的定义 , 应放在后缀名为 -inl.h 的头文件中 . 内联函数的定义必须放在头文件中 , 编译器才能在调用点内联展开定义 . 然而 , 实现代码理 论上应该放在 .cc 文件中 , 我们不希望 .h 文件中有太多实现代码 , 除非在可读性和性能 上有明显优势 . 如果内联函数的定义比较短小 , 逻辑比较简单 , 实现代码放在 .h 文件里没有任何问题 . 比 如, 存取函数的实现理所当然都应该放在类定义内 . 出于编写者和调用者的方便 , 较复杂的 内联函数也可以放到 .h 文件中 , 如果你觉得这样会使头文件显得笨重 , 也可以把它萃取到 单独的 -inl.h 中. 这样把实现和类定义分离开来 , 当需要时包含对应的 -inl.h 即可。 A 项错误,因为使用 inline 关键字的函数只是用户希望它成为内联函数,但编译器有权忽 略这个请求,比如:若此函数体太大,则不会把它作为内联函数展开的。 B 项错误,头文件中不仅要包含 inline 函数的声明,而且必须包含定义,且在定义时必须 加上 inline 。【关键字 inline 必

您可能关注的文档

文档评论(0)

高胖莹 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档