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


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

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

  • 相关阅读:
    PowerDesigner_15连接Oracle11g,反向工程导出模型图
    angular学习
    GoEasy消息推送
    Spring 工作原理
    JAVA解析HTML,获取待定元素属性
    设计模式之工厂方法模式
    设计模式之单例模式
    通过Java代码获取系统信息
    centos7下NAT模式下设置静态ip
    关于在Spring项目中使用thymeleaf报Exception parsing document错误
  • 原文地址:https://www.cnblogs.com/tingshuixuan2012/p/2972892.html
Copyright © 2020-2023  润新知