Effective C++(3rd)读书笔记
文章平均质量分 62
塘外人
我是程序猿
展开
-
【读书笔记】Effective C++—3 资源管理(之2)
Effective C++读书笔记--By Nathan.Yu 2007-11-28--3 资源管理(之二)条款14:在资源管理类中小心copying行为(Think carefully about copying behavior in resource-managing classes) “当一个RAII对象被复制时,会发生什么?”这是每个RAII class作者必须面原创 2007-11-30 00:16:00 · 680 阅读 · 0 评论 -
【读书笔记】Effective C++-1 让自己习惯C++(之一)
Effective C++读书笔记--By Nathan.Yu 2007-11-10--1 让自己习惯C++条款01:视C++为一个语言联邦C++最初的名称是:C with Classes今天的C++是:多重泛型编程语言(multiparadigm programming language),同时支持过程形式(procedural)、面向对象形式(object-orie原创 2007-11-11 00:23:00 · 772 阅读 · 0 评论 -
【读书笔记】Effective C++-2 构造/析构/赋值运算(之一)
Effective C++读书笔记--By Nathan.Yu 2007-11-13--2 构造/析构/赋值运算(之一)条款05:了解C++默默编写并调用哪些函数如果你自己没声明,编译器就会为类声明一个copy构造函数、一个copy assignment操作符和一个析构函数。此外如果你没声明任何构造函数,编译器也会为你声明一个default构造函数。只有当这些函数被需要(被调用原创 2007-11-14 01:30:00 · 634 阅读 · 0 评论 -
【读书笔记】Effective C++-2 构造/析构/赋值运算(之二)
Effective C++读书笔记--By Nathan.Yu 2007-11-14--2 构造/析构/赋值运算(之二)条款06:若不想使用编译器自动生成的函数,就该明确拒绝【要点摘录】所有编译器生成的函数都是public且inline的。 如何阻止拷贝行为?将copy构造函数和copy assignment操作符声明为private,并不去定义(实现)它们。借由明原创 2007-11-15 00:42:00 · 650 阅读 · 0 评论 -
【读书笔记】Effective C++-2 构造/析构/赋值运算(之三)
Effective C++读书笔记--By Nathan.Yu 2007-11-15--2 构造/析构/赋值运算(之三)条款07:为多态基类声明virtual析构函数问题:何时该声明virtual析构函数,何时不该这样做?【要点摘录】C++明确指出,当derived class对象经由一个base class指针被删除,而该base class带着一个non-virtu原创 2007-11-16 01:22:00 · 756 阅读 · 0 评论 -
【读书笔记】Effective C++—3 资源管理(之1)
Effective C++读书笔记--By Nathan.Yu 2007-11-27--3 资源管理(之一)常见的资源:文件描述器(file descriptors)、互斥锁(mutex locks)、图形界面中的字型和笔刷、数据库连接、网络sockets。 不论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源(Use objects原创 2007-11-30 00:14:00 · 695 阅读 · 0 评论 -
【读书笔记】Effective C++—3 资源管理(之4)
Effective C++读书笔记--By Nathan.Yu 2007-12-08--3 资源管理(之四)条款16:成对使用new和delete时要采取相同形式(Use the same form in corresponding uses of new and delete)使用new时发生的事情:1、 内存被分配(通过operator new函数)2、 针原创 2007-12-08 23:22:00 · 611 阅读 · 0 评论 -
【读书笔记】Effective C++—4 设计与声明(之1)
Effective C++读书笔记--By Nathan.Yu 2007-12-08--4 设计与声明(之一)条款18:让接口容易被正确使用,不易被误用(Make interfaces easy to use correctly and hard to use incorrectly)理想上,如果客户企图使用某个接口而却没有获得他所预期的行为,这个代码不该通过编译;如果代码通过原创 2007-12-08 23:23:00 · 724 阅读 · 0 评论 -
【读书笔记】Effective C++—3 资源管理(之3)
Effective C++读书笔记--By Nathan.Yu 2007-11-29--3 资源管理(之三)条款15:在资源管理类中提供对原始资源的访问(Provide access to raw resources in resource-managing classes)许多APIs需要指涉指针。 将RAII class对象转换为原始资源的方法:1、 显式转换:原创 2007-11-30 00:33:00 · 627 阅读 · 0 评论 -
【读书笔记】Effective C++-1 让自己习惯C++(之二)
Effective C++读书笔记--By Nathan.Yu 2007-11-11--1 让自己习惯C++(二)条款03:尽可能使用constconst允许你指定一个语义约束(也就是指定一个“不该被改动”的对象),而编译器会强制实施这项约束。 const的用处:修饰global或namespace作用域中的常量;或修饰文件、函数、或区块作用域中被声明为static的对象;原创 2007-11-12 00:40:00 · 673 阅读 · 0 评论 -
【读书笔记】Effective C++-1 让自己习惯C++(之三)
Effective C++读书笔记--By Nathan.Yu 2007-11-12--1 让自己习惯C++(三)条款04:确定对象被使用前已先被初始化读取未初始化的值会导致不明确的行为。最佳的处理方法:永远在使用对象之前先将它初始化。 对内置类型:手工初始化。 对自定义类型:确保每个构造函数都将对象的每一个成员初始化。 别混淆了赋值原创 2007-11-13 01:17:00 · 619 阅读 · 0 评论 -
【读书笔记】Effective C++-2 构造/析构/赋值运算(之四)
Effective C++读书笔记--By Nathan.Yu 2007-11-24--2 构造/析构/赋值运算(之四)条款08:别让异常逃离析构函数C++并不禁止析构函数吐出异常,但它不鼓励你这样做!理由: 设:std::vector v;假设v中有多个Widget,在销毁v的过程中,当有2个以上的Widget在销毁的时候抛出异常,对C++而言就太多了。在原创 2007-11-30 00:09:00 · 786 阅读 · 0 评论 -
【读书笔记】Effective C++——0 导读
Effective C++读书笔记--By Nathan.Yu 2007-11-10--0 导读1、设计策略如何在两个不同的做法中择一完成某项任务,如该选择inheritance(继承)还是templates(模板)?该选择public继承还是private继承?该选择private继承还是composition(复合)?该选择member函数还是non-member函数?原创 2007-11-10 22:16:00 · 746 阅读 · 0 评论