习惯更改(养成良好的编程习惯)
1.包含头文件的方式,从C语言.h的方式改为<头文件名>的方式
2.尽量使用迭代器代替下标操作
3.建议:尽量避免使用指针和数组 ,尽可能使用vector和迭代器
4.采用 string 类型取代 C 风格字符串(使用标准库类型 string,除了增强安全性外,效率也提高了,因此应该尽量避免使用 C 风格字符串)
5.尽量“将符号 * 紧贴着指针变量名放置”,虽然*紧贴类型名放置也是合法的
5.用指针操作数组时应首先选用类似于迭代器的那种用法
6.const使用时,如果等价,尽量将const放在类型后,以避免类似于typedef使用中的错误
7.一般而言,应该优先使用标准库抽象类而少用语言内置的低级数组和指针。尤其是应该使用 string 类型取代 C 风格以空字符结束的字符数组。现代 C++ 程序不应使用 C 风格字符串。
2013-04-15补充
8.相对于“整型数据的低级直接位操作”而言,“标准库提供的 bitset 操作更直接、更容易阅读和书写、正确使用的可能性更高。而且,bitset 对象的大小不受 unsigned 数的位数限制。”,所以,优先选用bitset
9.类似于++,--这种自增操作符,只有在必要时才使用后置操作符,尽量使用前置自增操作符的形式(组合使用接引用和自增操作符时,通常使用后自增操作符)
10、合适的地方,例如:想在函数调用是实现对实参的访问,“从 C 语言背景转到 C++ 的程序员习惯通过传递指针来实现对实参的访问。在 C++ 中,使用引用形参则更安全和更 自然。 ”
11.如果使用引用形参的唯一目的是避免复制实参,则应将形参定义为 const 引用。
12.应该将不需要修改的引用形参定义为const 引用。普通的非 const 引用形参在使用时不太灵活。这样的形参既不能用 const 对象初始化,也不能用字面值或产生右值的表达式实参初始化。
13.通常,将数组形参直接定义为指针要比使用数组语法定义更好。这样就明确地表示,函数操纵的是指向数组元素的指针,而不是数组本身。由于忽略了数组长度,形参定义中如果包含了数组长度则特别容易引起误解。
14.在创建 fstream 对象时,如果调用 open 或使用文件名作初始化式,需要传递的实参应为 C 风格字符串,而不是标准库 strings 对象。程序常常从标准输入获得文件名。通常, 比较好的方法是将文件名读入 string 对象,而不是 C 风格字符数组。假设要使用的文件名保存在 string 对象中,则可调用 c_str 成员(第 4.3.2 节)获取 C 风格字符串。
15.计算数组元素个数时应定义为size_t,放弃使用int
2013-04-14
备注:以上这些条目(除非特别指出)都是源自《C++ Primer》,过些时日将逐条补充整理。另外,评论中有网友贡献了几条,查阅资料验证后也将融汇到以上条目。做成图表格式,另外将这些些条目避免的问题加进去,如果有的话
另外,在C++ Primer中搜索“圆括号”三个字,找到使用圆括号调用默认构造函数等初始化成员等的规则
|
请发表评论