Effective C++回顾(1)

原创 2006年05月22日 22:53:00

学习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来处理。

 

待续

【more effective c++读书笔记】【第1章】基础议题(1)

条款1:仔细区别pointers和references 1、pointers和references之间的区别是: a、没有所谓的null reference,一个reference必须总代表某个对...

【effective c++读书笔记】【第5章】实现(1)

条款26:尽可能延后变量定义式的出现时间 1、只要你定义了一个变量而其类型带有一个构造函数或析构函数,那么当程序的控制流到达这个变量定义式时,你便得承受构造成本;当这个变量离开其作用域时,你便得承受析...

Effective C++第二章-构造,析构,赋值-1

编译器可暗自为类创建default构造函数、copy构造函数、copy 赋值操作符和析构函数当你写一个空类class Empty{};如果你自己没有声明,则编译器会声明一个copy构造函数、一个cop...
  • mlyjqx
  • mlyjqx
  • 2017年06月23日 09:27
  • 78

【effective c++读书笔记】【第4章】设计与声明(1)

条款18:让接口容易被正确使用,不容易被误用 1、许多客户端错误可以因为导入新类型而获得预防。在防范“不值得拥有的代码”上,类型系统是你的主要同盟国。 2、预防客户错误的另一个办法是,限制类型内什么事...

【effective c++读书笔记】【第8章】定制new和delete(1)

条款49:了解new-handler的行为 1、当operator new无法满足某一内存分配需求时,它会抛出异常,以前会返回null指针。当operator new抛出异常以反映一个未获满足的内存...

Effective Modern C++ Item 1

当一个复杂的系统的用户不知系统是如何工作的,仍对其所做的感到满意。按照这样的标准,C++中的模板类型推导是非常成功的。数以百万的程序员向模板函数传递参数并得到完全满意的结果。尽管许多程序员很难解释这些...

《Effective Modern C++》Item 1总结

理解模板类型推导总结

<<Effective C++>>笔记1

Chapter 1 Item 1: Rules for effective C++ programming vary, depend on the part of C++ you are using...

Effective C++(1-2) 编译器替换预处理器

1 C++最主要的四部分: CObject-Oriented C++: 面向对象Template C++:泛型编程STL C++高效编程守则视状况而变化,取决于你使用C++的哪一部分。 ...

Effective C++之std::tr1::shared_ptr的使用

Effective C++之std::tr1::shared_ptr的使用
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Effective C++回顾(1)
举报原因:
原因补充:

(最多只允许输入30个字)