《高质量程序设计指南》.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《高质量程序设计指南》 2011-04-27 《高质量程序设计指南》 :转载时请以超链接形式标明文章原始出处和作者信息及 差不多半年前做的一个笔记。现收集在这里。 这里,我并没有对这本书做主客观的一些评价,但这是一本好书。对于不熟悉的知识点,我做下读书笔记。 在图书馆借书的时候,无意间想起林锐的《高质量C++/C程序设计》,于是在图书馆中搜索,发现找不到,后来还是通过在搜索条件中从责任者中搜林锐才找出,一看才知道原来这本书叫《高质量程序设计指南》,只不过大家都喜欢称它《高质量C++/C程序设计》罢了。快速看了一下简介,提到的书后附的林锐博士的《大学十年》,特别吸引我。遂花了一两个小时读完了这篇短篇小说,林锐博士精彩的大学十年,奋斗的十年,多样的十年,看的我一腔热血,一身无奈。热血的是人生原来可以如此精彩如此充实,无奈的是感叹自己大学期间读的书太少,学海茫茫,要走的路还有很长。看完《大学十年》,我就知道,这本书这几天我必定读完它。我知道,以后,我会像林锐博士一样,努力做一个真实、正直、优秀的人。我知道,我需要恶补的知识太多、太多。 文中较为经典的一段:不少人曾对我说:你是做大事的人,不要在小事上浪费精力,更不要为了别人而贻误了自己。 很多人总以为自己将来是伟大人物而不愿做小事,从而到死也没做成什么有价值的事。也有很多人希望自己成功后再去帮助别人,无论他最终成功还是失败,一辈子也没有帮助过人。还有很多人略有权势或略有名气后,便觉得自己吃喝玩乐、放屁、上厕所都是重要的事,在他们最能够帮助别人的时候却以太忙没空为理由不去做好事。 我也在忙碌、在奋斗,也渴望成为伟大人物,但我希望让有意义的小事充实一生。 我还要讲另一件我常干的小事。 很多受过高等教育的人保留了随地扔垃圾的风俗习惯,这恶习就像脚气那样虽然不置人死地,但能遗臭万年。即便像浙江大学这等风雅的地方,你都经常可以看见草坪、校门口的废纸、果皮和塑料袋等,垃圾就如同天使脸上的一坨狗屎那样鲜艳,人们竟然无动于衷。我记不清自己多少次当众、当道捡垃圾,可是几年来我都没有在大学里发现第二个做这种事的人。 我很想讲句话:救人并不只是医生干的事,保护环境也不只是清洁工干的事。只要你多花几秒钟,弯几次腰,就能让环境更加清洁,让心灵更加清洁。我们不必个个道貌岸然,但至少应该坐到读书明理。 书中提到的,而自己还不足欠缺的一些知识点,做个笔记吧,就当作对自己的犒赏,虽然我不喜欢做笔记,但这个习惯早晚需要改变,没错,就是这个时候。 1.基本数据类型之间的指针转换一般说来必然会造成内存截断或内存访问范围的扩张,除非两种类型具有相同的字节大小。 示例: Double d5=1000.35; Int*pInt=(int*)d5; Int i4=100; Double*pDbl=(double*)i4; 从内存访问角度来说,通过Pint访问它指向的double类型变量d5是安全的可访问内存范围缩小,但是其值是位于d5开头4个字节中的内容,并解释为int类型数,这个数是不可预料的;同样通过pDblint类型变量i4,得到的数 据不一定就是100,况且造成了可访问内存范围的扩张,比int*多访问了4个字节。如果往里写数据就会产生运行时错误。 2.在多重嵌套循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,这样可以减少CPU跨切循环层的次数,从而优化程序的性能。 示例: For(i=0;i N;++i)if(condition) {{ If(condition)for(i=0;i N;++i) DoSomething();DoSomething(); else}else DoOtherthing();{ }for(i=0;i N;++i) DoOtherthing(); } 3.goto语句至少有一处可显神通,它能从多层嵌套的循环体中嗖地一下子跳到外面,用不着写很多次的break语句,从而提高了效率。 示例:for(…) { for(…) { for(…) { … goto error; } } } 4.在标准C语言中,const符号常量默认是外连接的(分配存储),也就是说你不能在两个(或两个以上)源文件中同时定义一个同名的const符号常量(重复定义错),或者把一个const符号常量定义放在一个头文件中而在多个源文件同时包含该头文件。当在不同的源文件中同时包含该头文件时,编译器认为它们是不同的符号常量,因此每个编译单元独立编译时会分别为它们分配存储空间,而在连接时进行常量折叠。 5.可以取一个const符号常量的地址:对于基本数据类型的const常量,编译器会重新再内存中创建它的一个拷贝,通过其地址访问到的就是这个

文档评论(0)

大头大头 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档