C++
文章平均质量分 59
yhjw2bah
这个作者很懒,什么都没留下…
展开
-
EC之Accustoming Yourself to C++
条款01:View C++ as a federation of languages我们可以把C++看成四部分,即C,Object-Oriented C++,Template C++,STL。C是C++的基础,只不过C没有模板,没有异常,没有重载。Object-Oriented C++则使C++拥有了面向对象设计的能力,类,封装,继承,多态,不一而足。Template C++是C+原创 2013-07-28 09:30:26 · 844 阅读 · 0 评论 -
认真地看一遍《Effective C++》
之前草草地看了一两遍《Effective C++》(以下简称EC),但发现效果不是很好,所以从今个儿重新看一遍,边看边写学习笔记,以加深理解。PS:其实我本来打算在博客园写的,都已经开好头了,不过还是更喜欢这儿的界面,所以我过来了原创 2013-07-28 07:26:29 · 476 阅读 · 0 评论 -
EC之Constructors,Destructors, and Assignment Operators
条款05:Know what function C++ silently writes and calls如果没有显式声明,编译器会自动为class创建default构造函数、copy构造函数、copy assignm操作符以及析构函数。显式声明这些函数或在base class中将这些函数声明为private可以阻止编译器的这一行为。如果class内含const或reference成员原创 2013-07-30 16:53:09 · 683 阅读 · 0 评论 -
EC之Resource Management
条款13:Use objects to manage resources假设我们使用一个用来模拟投资行为的程序库,各种投资类型继承自root class Investment:class Investment { ... }; //“投资类型”继承体系中的root class进一步假设,该程序库通过一个工厂函数提供某个特定类型的Investment对象:Investment* cr原创 2013-08-02 21:43:55 · 517 阅读 · 0 评论 -
EC之Designs and Declarations
条款18:Make interfaces easy to use correctly and hard to use incorrectlyC++中充斥着各种各样的接口,function接口、class接口、template接口……每一种接口都是客户与你的代码互动的手段。假设你面对的是一群通情达理的客户,如果他们用错了某个接口,你也应该为此负一部分责任。理想状态下,如果客户试图使用某个接口但却原创 2013-08-09 23:32:00 · 612 阅读 · 0 评论 -
EC之Implementations
条款26:Postpone variable definitions as long as possible只要你定义了一个类变量,你就得承受相应的构造和析构成本——即使该变量最终未被使用。或许你觉得你不会定义一个不使用的变量,那不妨考虑下面这个函数,它返回加密后的密码,但如果密码太短,函数会抛出一个类型为logic_error的异常://这个函数过早定义变量"encrypted"st原创 2013-08-25 23:08:09 · 460 阅读 · 0 评论