zoukankan      html  css  js  c++  java
  • 对于(学习c++)的c程序员的建议

    出自c++ programming language 1.6.1节  翻译的不好请大家指教

    对于c程序员的建议

        一个人越熟悉c,就越难避免写c模式的c++程序。因此,会丢失一些潜在的c++的优点。请看附录B,它描述了c和c++的不同。这里有几点是使用c++模式的程序比c程序的模式要好。
       1。宏从来没有必要在c++中,使用const或者enum定义静态变量,用inline避免函数调用开销,template去指出函数和类型族,namespace避免命名冲突。
       2。不要在使用一个变量之前声明它(译者,不要提前声明,什么时候使用什么时候声明,并立即初始化)。应为声明可以在任何地方(译者,与c比较),包括在for和if 的条件中。
       3。不要使用malloc(),new操作符做同样的事情,而且做的更好。代替realloc()的东西,可以试一下vector.
       4。尽量避免void*,指针算法(pointer arithmetic),联合(union)和造型(cast 就是类型转换)。在大部分情况下造型是错误设计的表现。如果你必须强制类型转换,试着用"新造型(new casts)",因为使你做的处于更精确的状态下。
       5。减少使用c模式下的字符数组,c++标准类库提供string和vector类,能够简化程序(同传统的c模式比较),在一般情况下,不要自己编写程序实现标准库里已经存在的功能。
       为了适应c的联接习俗,c++函数必须声明为c联接模式。
       最重要的,试着将一个程序看作交互概念(译者:成员和方法??),并显示为类和实例的,而不是函数操纵的一堆数据结构。

  • 相关阅读:
    Thinkphp 控制器
    Thinkphp 框架基础
    smarty练习:考试系统
    smarty 自定义函数
    smarty 变量调节器
    python 格式化的三种方法
    python 随机生成汉字
    python中的and和or用法
    pytest 运行用例报错:unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'
    Jenkins安装插件报错:该Jenkins实例似乎已离线
  • 原文地址:https://www.cnblogs.com/findcaiyzh/p/1979562.html
Copyright © 2011-2022 走看看