上一页 1 2 3 4 5 6 7 8 ··· 14 下一页

2015年8月19日

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

摘要: 条款50:了解new和delete的合理替换时机有人会想要替换掉编译器提供的operator new或operator delete,以下是几个理由:a、用来检测运用上的错误。编程过程中会出现各种错误。这些错误导致内存泄露(memory leaks)、不确定行为产生、overruns(写入点在分配区... 阅读全文

posted @ 2015-08-19 09:57 ruan875417 阅读(179) 评论(0) 推荐(0) 编辑

2015年8月18日

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

摘要: 条款49:了解new-handler的行为1、当operator new无法满足某一内存分配需求时,它会抛出异常,以前会返回null指针。当operator new抛出异常以反映一个未获满足的内存需求之前,它会先调用一个客户指定的错误处理函数,一个所谓的new-handler。为了指定这个“用以处理... 阅读全文

posted @ 2015-08-18 15:01 ruan875417 阅读(148) 评论(0) 推荐(0) 编辑

2015年8月17日

【effective c++读书笔记】【第7章】模板和泛型编程(3)

摘要: 条款46:需要类型转换时请为模板定义非成员函数对条款24的例子进行模板化:#includeusing namespace std;templateclass Rational{public: Rational(const T& n = 0, const T& d = 1) :numerator(n)... 阅读全文

posted @ 2015-08-17 13:24 ruan875417 阅读(139) 评论(0) 推荐(0) 编辑

2015年8月16日

【effective c++读书笔记】【第7章】模板和泛型编程(2)

摘要: 条款44:将与参数无关的代码抽离templatestemplate是节省时间和避免重复代码的一个奇妙方法。class template的成员函数只有在被使用时才被暗中具现化。但是如果不小心,使用templates可能导致代码膨胀(code bloat):其二进制代码带着重复(或几乎重复)的代码、数据... 阅读全文

posted @ 2015-08-16 13:34 ruan875417 阅读(192) 评论(0) 推荐(0) 编辑

2015年8月15日

【effective c++读书笔记】【第7章】模板和泛型编程(1)

摘要: 条款41:了解隐式接口和编译期多态1、模板的编译期多态例子:#includeusing namespace std;class ClassA{public: ClassA(size_t s) :size(s){} size_t getSize() const{ return size; }priva... 阅读全文

posted @ 2015-08-15 20:36 ruan875417 阅读(162) 评论(0) 推荐(0) 编辑

2015年8月14日

【effective c++读书笔记】【第6章】继承与面向对象设计(4)

摘要: 条款39:明智而审慎的使用private继承1、如果classes之间的继承关系是private,编译器不会自动将一个derived class对象转换为一个base class对象。例子:#include#includeusing namespace std;class Person{protec... 阅读全文

posted @ 2015-08-14 14:07 ruan875417 阅读(145) 评论(0) 推荐(0) 编辑

2015年8月13日

【effective c++读书笔记】【第6章】继承与面向对象设计(3)

摘要: 条款36:绝不重新定义继承而来的non-virtual函数1、例子#includeusing namespace std;class Base{public: void mf(){ cout mf(); Derived* pd = &d; pd->mf(); system("pause"); ret... 阅读全文

posted @ 2015-08-13 14:20 ruan875417 阅读(150) 评论(0) 推荐(0) 编辑

2015年8月12日

【effective c++读书笔记】【第6章】继承与面向对象设计(2)

摘要: 条款35:考虑virtual函数以外的其他选择假设你在开发一款游戏,你打算为游戏内的人物设计一个继承体系。每个人物都有自己的健康状态。你能马上想到下面这个设计:class GameCharacter{public: virtual int healthValue()const;};有没有其他替代方案... 阅读全文

posted @ 2015-08-12 16:24 ruan875417 阅读(172) 评论(0) 推荐(0) 编辑

2015年8月11日

【effective c++读书笔记】【第6章】继承与面向对象设计(1)

摘要: 条款32:确定你的public继承塑模出is-a关系1、以C++进行面向对象编程,最重要一个规则是:public inheritance(公开继承)意味着“is-a”(是一种)的关系。如果令class D(“Derived”)以public形式继承class B(“Base”),便告诉C++编译器(... 阅读全文

posted @ 2015-08-11 15:18 ruan875417 阅读(135) 评论(0) 推荐(0) 编辑

2015年8月5日

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

摘要: 条款29:为“异常安全”而努力是值得的1、在异常抛出时,带有异常安全性的函数会:a、不泄露任何资源b、不允许数据败坏2、异常安全函数(Exception-safefunctions)提供以下三个保证之一:a、基本承诺:如果异常被抛出,程序内的任何事物仍然保持在有效状态下。没有任何对象或数据结构会因此... 阅读全文

posted @ 2015-08-05 16:16 ruan875417 阅读(153) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 14 下一页

导航