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

2015年9月11日

【more effective c++读书笔记】【第6章】杂项讨论

摘要: 条款32:在未来时态下发展程序未来式思维要加上一些额外的考虑:a、提供完整的类——即使某些部分目前用不到。当新的需求进来,你不太需要回头去修改哪些类。b、设计你的接口,使有利于共同的操作行为,阻止共同的错误。让类轻易地被正确运用,难以被错误运用。c、尽量使你的代码一般化,除非有不良的巨大后果。 “未... 阅读全文

posted @ 2015-09-11 19:30 ruan875417 阅读(173) 评论(0) 推荐(0) 编辑

2015年9月10日

【more effective c++读书笔记】【第5章】技术(7)——让函数根据一个以上的对象类型来决定如何虚化(2)

摘要: 四、自行仿真虚函数表格(使用非成员函数的碰撞处理函数)//GameObject.h#ifndef GAMEOBJECT_H#define GAMEOBJECT_Hclass GameObject{ //抽象基类public: virtual ~GameObject() = 0;};class Spa... 阅读全文

posted @ 2015-09-10 16:42 ruan875417 阅读(141) 评论(0) 推荐(0) 编辑

2015年9月9日

【more effective c++读书笔记】【第5章】技术(7)——让函数根据一个以上的对象类型来决定如何虚化(1)

摘要: 一个虚函数调用动作称为一个消息分派,如果某个函数调用根据两个参数而虚化就称为双重分派,根据多个函数而虚化称为多重分派。C++不支持双重分派和多重分派,因此我们必须自己实现。有以下几种方法:一、虚函数 + RTTI(运行时期类型辨识)//GameObject.h#ifndef GAMEOBJECT_H... 阅读全文

posted @ 2015-09-09 18:29 ruan875417 阅读(145) 评论(0) 推荐(0) 编辑

2015年9月8日

【more effective c++读书笔记】【第5章】技术(6)——Proxy classes(代理类)

摘要: “用来代表其他对象”的对象被称为proxy objects,用来表现proxy objects者,称为proxy classes(代理类)。一、实现二维数组//Array2D.h#ifndef ARRAY2D_H#define ARRAY2D_H//代理类templateclass Array1D{... 阅读全文

posted @ 2015-09-08 16:02 ruan875417 阅读(169) 评论(0) 推荐(0) 编辑

2015年9月7日

【more effective c++读书笔记】【第5章】技术(5)——Reference counting(引用计数)(2)

摘要: 三、引用计数基类和智能指针实现的String类//RCObject.h#ifndef RCOBJECT_H#define RCOBJECT//引用计数基类class RCObject{public: void addReference();//增加引用计数 void removeReference(... 阅读全文

posted @ 2015-09-07 16:37 ruan875417 阅读(140) 评论(0) 推荐(0) 编辑

2015年9月6日

【more effective c++读书笔记】【第5章】技术(5)——Reference counting(引用计数)(1)

摘要: 一、非引用计数实现的String类//String.h#ifndef STRING_H#define STRING_H#define _CRT_SECURE_NO_WARNINGS#includeclass String{public: String(const char* initValue = ... 阅读全文

posted @ 2015-09-06 11:13 ruan875417 阅读(127) 评论(0) 推荐(0) 编辑

2015年9月5日

【more effective c++读书笔记】【第5章】技术(4)——Smart Pointers(智能指针)

摘要: 一、类似C++标准程序库提供的auto_ptr template的智能指针//Smart.h#ifndef SMART_H#define SMART_Htemplateclass SmartPtr{public: SmartPtr(T* realPtr = 0); //构造函数 ~SmartPtr(... 阅读全文

posted @ 2015-09-05 14:02 ruan875417 阅读(112) 评论(0) 推荐(0) 编辑

2015年9月4日

【more effective c++读书笔记】【第5章】技术(3)——要求(或禁止)对象产生于heap之中

摘要: 一、要求对象产生于heap之中方法:让析构函数成为private,构造函数为public。然后导入一个伪的析构函数,来调用真正的析构函数。但是它也妨碍了继承和内含。例子://UPNumber.h#ifndef UPNUMBER_H#define UPNUMBER_H#includeclass UPN... 阅读全文

posted @ 2015-09-04 14:47 ruan875417 阅读(167) 评论(0) 推荐(0) 编辑

2015年9月3日

【more effective c++读书笔记】【第5章】技术(2)——限制某个class所能产生的对象数量

摘要: 一、允许零个对象每当产生一个对象时会有一个构造函数被调用,因此阻止某个类产出对象的最简单方法就是将该类的构造函数声明为private。例子:class CantBeInstantiated{private: CantBeInstantiated(); CantBeInstantiated(const... 阅读全文

posted @ 2015-09-03 14:43 ruan875417 阅读(139) 评论(0) 推荐(0) 编辑

2015年9月2日

【more effective c++读书笔记】【第5章】技术(1)——将constructor和non-member functions虚化

摘要: 一、将constructor虚化1、例子:#include#include#includeusing namespace std;class NLComponent{public: NLComponent(){ cout > str){ components.push_back(readComp... 阅读全文

posted @ 2015-09-02 11:01 ruan875417 阅读(173) 评论(0) 推荐(0) 编辑

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

导航