• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

那些C++编程中应当尽早摒弃的陋习

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

习惯更改(养成良好的编程习惯)

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中搜索“圆括号”三个字,找到使用圆括号调用默认构造函数等初始化成员等的规则


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NETMVC3-第02节-添加一个Controller(C#)发布时间:2022-07-18
下一篇:
如何去掉C#字符串中的所有空格发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap