- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++程序员的注意事项
第1章 致读者
[1] 在编写程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想:??? [a] 如果你能把“它”看成一个独立的概念,就把它做成一个类。??? [b] 如果你能把“它”看成一个独立地实体,就把它做成某个类的一个对象。??? [c] 如果两个类有共同的界面,将此界面做成一个抽象类。??? [d] 如果两个类的实现有某些显著的共同东西,静这些共性做成一个基类。??? [e] 如果一个类是一种对象的容器,将它做成一个模板。??? [f] 如果一个函数实现对某容器的一个算法,将它实现为对一族容器可用的模板函数。??? [g] 如果一组类、模板等互相之间有逻辑关系,将它们放进一个名字空间力。[2] 在你定义一个并不是实现某个像矩阵或复数这样的数学对象的类时,或者定义一个低层地类型如链接表的时候:??? [a] 不要使用全局数据(使用成员)。??? [b] 不要使用全局函数。??? [c] 不要使用公用数据成员。??? [d] 不要使用友元,除非为了避免[a]或[c]。??? [e] 不要在一个类里面放“类型域”;采用虚函数。??? [f] 不要使用在线函数,除非座位效果显著的优化。
第2章 C++概览
[1] 不用害怕,一切都会随着时间的推移而逐渐明朗起来。[2] 你并不需要在知道了C++地所有细节之后才能写出好的C++程序。[3] 请特别关注程序设计技术,而不是各种语言特征。
第3章 标准库概念
[1] 不要像重新发明车轮那样企图做每件事;去使用库。[2] 不要相信奇迹;要理解你的库能做什么,它们如何做,它们做时需要多大代价。[3] 当你遇到一个选择时,应该优先选择标准库而不是其他的库。[4] 不要认为标准库对于任何事情都是最理想的。[5] 切记#include你所用到的功能的头文件。[6] 记住,标准库的功能定义在名字空间std中。[7] 请用string,而不是char*。[8] 如果怀疑,就用一个检查区间范围的向量。[9] vectorT、listT和mapkey, value都比T[]好。[10] 如果要向一个容器中添加一个元素,用push_back()或back_insert()。[11] 采用对vector的push_back(),而不是realloc()。[12] 在main()中捕捉公共的异常。
第4章 类型和声明
[1] 保持较小的作用域。[2] 不要在一个作用域和它外围的作用域里采用同样的名字。[3] 在一个声明中(只)声明一个名字。[4] 让常用的和局部的名字比较短,让不常用的和全局的名字比较长。[5] 避免看起来类似的名字。[6] 维持某种统一的命名风格。[7] 仔细选择名字,反映其意义而不是反映实现方式。[8] 如果所用的内部类型表示某种可能变化的值,请用typdef为它定义一个有意义的名字。[9] 用typedef为类型定义同义词,用枚举或类去定义新类型。[10] 切记每个声明中都必须描述一个类型(没有隐式的int)。[11] 避免有关字符值的不必要的假设。[12] 避免有关整数大小的不必要假设。[13] 避免有关浮点类型表示范围的不必要假设。[14] 优先使用普通的int而不是short int或者long int。[15] 优先使用double而不是float或者long double。[16] 优先使用普通的char而不是signed char或者unsigned char。[17] 避免做出有关对象大小的不必要假设。[18] 避免无符号算术。[19] 应该带着疑问去看待从signed到unsigned,或者从unsigned到singed的转换。[20] 应该带着疑问去看待从浮点到整数的转换。 [21] 应该带着疑问其看待向较小类型的转换,如将int转换到char。
第5章 指针、数组和结构
[1] 避免非平凡的指针算术。[2] 当心,不要超出函数的界限去写。[3] 尽量使用0而不是NULL。[4] 尽量使用vector和valarrray而不是内部(C风格)的数组。[5] 尽量使用string而不是以0结尾的char数组。[6] 尽量少使用普通的引用参数。[7] 避免void*,除了在某些低级代理。[8] 避免在代码中使用非平凡的文字量(“神秘的数”)。相反,应该定义和使用各种符号常量。
第6章 表达式和语句
[1] 应尽量可能使用标准库,而不是其他的库和“手工打造的代码”。[2] 避免过于复杂的表达式。[3] 如果对运算符的优先级有疑问,加括号。[4] 避免显式类型转换。[5] 若必须做显
您可能关注的文档
最近下载
- 华远地产战略发展规划版汇报.pdf VIP
- 全国职业院校技能大赛高职组(研学旅行赛项)备赛试题库(含答案).doc VIP
- 外研版---必修二单词英汉互译 .pdf VIP
- 2024年全国职业院校技能大赛高职组(社区服务实务赛项)考试题库(含答案).docx
- 湘教版高中数学(必修1)1.1《集合》同步测试题.doc
- 光伏外包合同7篇.docx VIP
- 23《小石潭记》对比阅读-2024-2025中考语文文言文阅读专项训练(含答案).docx VIP
- 24《核舟记》对比阅读-2024-2025中考语文文言文阅读专项训练(含答案).docx VIP
- 光纤惯性导航系统行业深度研究报告.docx
- 2024年世界职业院校技能大赛高职组“研学旅行组”赛项参考试题库(含答案).docx
文档评论(0)