对于(学习c++)的c程序员的建议

本文为C程序员编写C++程序提供建议。指出熟悉C的人易写C模式的C++程序,会丢失C++优点。介绍了使用C++模式程序的好处,如用const或enum定义静态变量、用new代替malloc等,还提到C++函数需声明为C联接模式,应将程序看作交互概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出自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联接模式。
   最重要的,试着将一个程序看作交互概念(译者:成员和方法??),并显示为类和实例的,而不是函数操纵的一堆数据结构。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值