effective c++ 第五章最后部分

条款28:避免返回handles指向对象内部成分
    因为函数返回的是一个临时对象,当语句执行完对象会被析构掉,会发生虚吊现象。
条款29:为“异常安全”而努力是值得的
    带有异常安全性的函数会:
    不泄露任何资源
    不允许数据败坏
    提供三大保证之一:
    基本承诺:异常抛出,程序内的事物仍是处于有效状态
    强烈保证:如果异常被抛出,程序状态不改变。如果函数成功,就是完全成功,如果函数失败,程序会恢复到调用函数之前的状态。
    不抛掷保证:承诺绝不抛出异常,因为总是会完成原先承诺的功能
条款30:透彻了解inlining 的里里外外
    对此函数的每一个调用都会以函数本体替换之,但这样有可能增加目标码,如果inline函数的本体很小,可能导致较小的目标码和较高的指令高速缓存装置击中率。
    记住,inline只是对编译器的一个申请,不是强制命令。可以明确提出或隐喻提出,隐喻方式是将函数定义于class定义域内,明确提出则是在定义式前加inline.
    Template通常也置于头文件内,因为它一旦被使用,编译器为了将它具现化,需要知道它长什么样子。
    Template的具现化与inlining无关。
    一个表面看起来inlining的函数是否真实inline,取决于你的建置环境,主要取决于编译器
    有时候虽然编译器有意愿inlining某个函数,还是可能为该函数生成一个函数本体。如果程序要取某个inlining函数的地址,编译器通常必须函数生成一个outlined函数本体。毕竟编译器     哪有能力提出一个指针指向并不存在的函数呢?与此并提的是,编译器通常不对通过函数指针而进行的调用实施inlining.
条款31:将文件间的编译依存关系降至最低。
       


全部评论

相关推荐

#简历#先说一说我自己的想法,很多人都很排斥苍穹外卖,认为没什么技术点和含金量,但实际上我觉得恰恰相反,苍穹外卖虽然代码本身并不是你自身能力的证明,但是是作为一个新人学习时很好的跳板和原始框架,在这个框架上进行的改进可以很好的辐射到你自己的个人成果上,并作为你和面试官聊天的筹码大多数人的苍穹外卖只写增删改查,千篇一律,吸引不了面试官,所以这才让大家误以为只要是苍穹外卖就不要写进简历里这种误区,但实际上如果你在原有的层面上进行改进,并作为你的项目亮点和面试官介绍,告诉他你的苍穹外卖和别人的有什么不同,增加了哪些技术难点,这才显得你是完全自己理解了这个项目,并且有自己动手实践项目的能力,而不是就看了个课程就以为自己会了,就当成自己的了,如此一来,这反而成为你的加分项苍穹外卖为什么看的人最多,说明它好啊,如果它不好,为什么看的人还这么多,想清楚这个逻辑,我觉得要做的最重要的事,就是如何在原有框架上进行改进提效,比起听其他人的话重新搞一个项目性价比高得多,而且我亲测项目并没有成为我找到工作的阻碍,我投的大厂一大半都给我面试了,而且很多不止一个部门,退一万步说,当你手头没有其他项目的时候,有苍穹外卖总比什么都没有的好很多,不需要因为苍穹外卖有任何心理负担关于简历的任何部分都欢迎大家提意见,十分感谢大家,祝大家找实习+秋招顺利上岸,offer拿到手软#简历中的项目经历要怎么写##我的上岸简历长这样##最后再改一次简历##简历##简历被挂麻了,求建议#
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务