Effective C++
文章平均质量分 67
xd1846
这个作者很懒,什么都没留下…
展开
-
条款09:绝不在构造和西欧过程中调用virtual函数
(一)原创 2014-08-19 19:36:24 · 383 阅读 · 0 评论 -
条款5:了解C++默默编写并调用那些函数
(一)如下写class Empty { };好比如如下下(原创 2014-08-19 15:45:49 · 428 阅读 · 0 评论 -
条款34:区分接口继承和实现继承
(一)class Shape { public: virtual void draw() const = 0; virtual void error(const string& msg); int objectID() const; }; class Rectangle : public Shape {...}; class Ellipse : publi原创 2014-08-30 21:44:33 · 422 阅读 · 0 评论 -
条款33:避免遮掩继承而来的名称
(一)c++的名称遮掩规则:原创 2014-08-30 17:33:48 · 495 阅读 · 0 评论 -
条款32:确定你的public继承塑模出is-a关系
(一)public 继承意味着 ”is a“(是一种)的关系原创 2014-08-22 02:54:42 · 436 阅读 · 0 评论 -
条款13:以对象管理资源
(一)如下代码,假设各种zileixi原创 2014-08-20 19:39:40 · 418 阅读 · 0 评论 -
条款:12 复制对象时勿忘其每一个成分
(一)class Date {...};class Customer {public: ...private: string name; Date lastTransaction;};class PriorityCustomer : public Customer {public: PriorityCustomer(const PriorityCustomer& rhs)原创 2014-08-20 12:05:27 · 578 阅读 · 0 评论 -
条款11:在operator=中处理”自我赋值“
(一)有别名的存在,所以有可能自我赋值。下面的代码不具备自我赋值的安全性 也不具备 异常安全性class Bitmap {...};class Widget { ...;private: Bitmap* pb;};Widget& Widget::operator=(const Widget& rhs) { //一份不安全的operator=实现版本 delete pb;原创 2014-08-19 23:46:01 · 440 阅读 · 0 评论 -
条款10:令operator=返回一个reference to * this
考虑下面代码:原创 2014-08-19 19:54:53 · 582 阅读 · 0 评论 -
条款08:别让异常逃离析构函数
(一)考虑一下代码:原创 2014-08-19 19:25:07 · 475 阅读 · 0 评论 -
条款7:为多态基类声明virtual析构函数
(一)如下继承关系:原创 2014-08-19 18:39:36 · 457 阅读 · 0 评论 -
条款6:若不想使用编译器自动生成的函数,就该明确拒绝
(一)阻止copy构造函数和copy assignmentha原创 2014-08-19 17:20:04 · 492 阅读 · 0 评论 -
条款4:确定对象被使用前已被初始化
1读取未初始化的值会导致不明确地原创 2014-08-19 13:26:51 · 462 阅读 · 0 评论