C++沉思录笔记 —— 序幕】的更多相关文章

#include <stdio.h>   class Trace{public: void print(const char* s) { printf("%s\n", s); }}; int main(int argc, char const *argv[]){ Trace t; t.print("begin main()"); //do something t.print("end main()"); return 0;} 第一段代…
1.[C++沉思录]句柄1 存在问题: 句柄为了绑定到Point的对象上,必须定义一个辅助类UPoint,如果要求句柄绑定到Point的子类上,那就存在问题了.2.有没有更简单的办法呢? 句柄使用Point*直接绑定到Point对象上(包括子类),为了保持多个句柄引用计数的一致性,使用int* 指向引用计数.3.代码如下:#include "point.h"class Handle_2{public: Handle_2():_p(new Point),_u(new int(1)){}…
1.在[C++沉思录]代理类中,使用了代理类,存在问题: a.代理复制,每次创建一个副本,这个开销有可能很大 b.有些对象不能轻易创建副本,比如文件2.怎么解决这个问题? 使用引用计数句柄,对动态资源封装,句柄包含指针,多个句柄可以指向同一个对象.复制的时候,只是复制句柄的指针.3.使用引用计数句柄,是为了避免不必要的对象复制,因此我们要知道有多少个句柄绑定到当前对象,也就是引用计数, 这样才能确定何时可以释放资源.4.需要注意的是:引用计数不能是句柄的一部分,如果怎么做,当前句柄必须知道指向同…
1.围墙里的墓碑 第一次世界大战期间,驻守意大利某小镇的年轻军官结识了镇上的牧师.虽然军官信仰信教,而牧师是天主教牧师,但两人一见如故. 军官在一次执行任务中身负重伤,弥留之际嘱托牧师无论如何要把自己葬在牧师负责的墓园中.军官去世后,牧师着手为挚友料理后事,结果在墓地问题上遇到了麻烦.天主教教会对军官的不幸表示同情,却反对把异教徒葬在天主教墓园中.没办法,牧师只好把军官安葬在墓园外紧挨围墙的地方. 很多年过去了,一个老兵回小镇看望牧师.临走时,他想起当年的战友,便请求牧师带他去军官的目前悼念.令…
本文转载:http://www.cnblogs.com/willick/p/3174803.html 1.小托蒂的悲剧 意大利小男孩托蒂,有一只十分奇怪的眼睛,因为从生理上看,这是一只完全正常的眼睛,但却是失明的. 原来,托蒂刚出生时,这只眼睛轻度感染,曾用绷带缠了两个星期.这对常人来说几乎没有人任何副作用,对刚出生的婴儿来说,大脑由于长时间没有从这只眼睛接受任何外界信息,就认为它瞎了,原本该为它服务的大脑神经组织,也随之"战略转移"了. 小托蒂的不幸遭遇并非偶然个案.后来,研究人员在…
1.小托蒂的悲剧 意大利小男孩托蒂,有一只十分奇怪的眼睛,因为从生理上看,这是一只完全正常的眼睛,但却是失明的. 原来,托蒂刚出生时,这只眼睛轻度感染,曾用绷带缠了两个星期.这对常人来说几乎没有人任何副作用,对刚出生的婴儿来说,大脑由于长时间没有从这只眼睛接受任何外界信息,就认为它瞎了,原本该为它服务的大脑神经组织,也随之“战略转移”了. 小托蒂的不幸遭遇并非偶然个案.后来,研究人员在动物身上做了很多类似的实验,发现结果都是一样的,身体器官都严格执行着“用进废退”的规则. 沉思录: 1.安逸幸福…
Atitit. 沉思录 与it软件开发管理中的总结 读后感 1. <沉思录>,古罗马唯一一位哲学家皇帝马可·奥勒留所著 2 2. 沉思录与it软件开发管理中的总结 2 2.1. 要有自己的培训..(不要总是依靠公共图书馆) 2 2.2. 要做大架构,优先大架构 2 2.3. 各司其职 世间万物各有所用,各司其职 2 2.4. 优秀的培训不一定能造就出强大的成员...但总比没有强 2 2.5. 顺势而为,随遇而安. 2 2.6. 看穿生死,淡泊名利. 2 2.7. 保持理智,洞察世事 2 2.8…
Vehicle 一个车辆的虚基类 class Vehicle {public: virtual double weight()const = 0; virtual void start() = 0; virtual Vehicle* copy() = 0; virtual ~Vehicle() {};}; 衍生出RoadVehicle AutoVehicle两个类 如果有一个停车场类 可以容纳100辆车 一开始计划 有Vehicle[100]这种变量来表示停车场 但是Vehicle是虚基类 不能…
一个简单的point坐标类 class Point {public: Point():xval(0),yval(0){} Point(int x,int y):xval(x),yval(y){} int x()const { return xval; } int y()const { return yval; } Point& x(int xv) { xval = xv; return *this; } Point& y(int yv) { yval = yv; return *this;…
百度云及其他网盘下载地址:点我 编辑推荐 经典C++图书,应广大读者的强烈要求再版 目录 第0章 序幕第一篇 动机第1章 为什么我用C++第2章 为什么用C++工作第3章 生活在现实世界中 第二篇 类和继承第4章 类设计者的核查表第5章 代理类第6章 句柄:第一部分第7章 句柄:第二部分第8章 一个面向对象程序范例第9章 一个课堂练习的分析(上)第10章 一个课堂练习的分析(下)第11章 什么时候不应当使用虚函数 第三篇 模板第12章 设计容器类第13章 访问容器中的元素第14章 迭代器第15章…