Effective C++回顾(1)

学习Effective C++已经很长时间,其中自己也把一些条款应用到日常工作中了,今天再次翻开此本,仍然发现一些新的内容和对一些已知内容有了新的理解。

“学会一种程序设计语言,是一回事儿;学会如何以此语言设计并实现有效的程序,又是一回事儿。”这是导读中的第一句话,自己也是一个项目经理,也有几个项目成员,有些是新进公司的人员,他们能够使用C++语言进行开发,可是写出来的代码总是有这样那样的问题,正是应了Effective C++中的这句话。

 

条款1:尽量以constinline取代#define

在我们程序中,大部分的代码都已经这样处理了。可是我认为,#define还是在程序中起到很大的作用。象MFC,就大量的使用了#define的预编译功能来实现一些复杂的功能。是不是采用constinline取代#define还是要取决于当前实现的功能。比如象消息映射一些功能,就很难用constinline取代。

 

条款2:尽量以<iostream>取代<stdio.h

自己在代码中从来没有用过iostream来格式化字符串和输出。对于输出一般更多的用于程序的调试,对于格式化字符串,这个又显的比较复杂,由于一般在代码很少需要输出很多的类中的结构信息,更多的还是字符串的操作。对于格式化字符串,由于代码中大量的使用CString类,所以CString::Format可以非常好的完成任务,对于输出一般采用的是OutputDebugString,这个函数需要传入的是一个C字符串,所以也就没有用于任何iostream上的功能。当然在项目中也有很多的时候需要输出到一个文件中,对于这种类型,如果是采用MFC来写的话,MFC已经提供类似的功能。如果程序中没有使用MFC来写,由于一些Unicode方面和文件处理的要求,很少会使用到iostream来处理。

 

待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值