上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: (部分摘自《标准C++输入输出流与本地化》)1. 状态标志. 1). 每个流对象都维护一个状态变量标记流状态(成功或失败),该变量类型是iostate(实际上是ios_base定义的位域类型),状态变量的不同二进制位用来标记不同状态,共有三个状态标志:状态标志作用所占bitfailbit出现可挽回... 阅读全文
posted @ 2015-10-13 19:53 Reasno 阅读(2052) 评论(0) 推荐(1) 编辑
摘要: 1. 假设要编写一个发生在太空的游戏,其中有飞船(spaceship),太空站(space station)和小行星(ssteroid),使它们继承自一个抽象基类GameObject,整个继承体系像这样: class GameObject { ... }; class SpaceShip: publ 阅读全文
posted @ 2015-10-13 01:04 Reasno 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 1. 真值和机器数 真值:数的实际值,用正负号和绝对值的某进制形式来表示,如+1010,-12,-FFFF等. 机器数:真值在计算机中的二进制表示,特点是符号数字化且数的大小受机器字长限制,其表示形式有原码,补码,反码,移码等. 2. 原码. 1). 定点小数: \[{x_{[{\rm{原}}]}} 阅读全文
posted @ 2015-10-10 00:39 Reasno 阅读(13692) 评论(3) 推荐(2) 编辑
摘要: 1. 所谓代理类(proxy class),指的是"它的每一个对象都是为了其他对象而存在的,就像是其他对象的代理人一般".某些情况下用代理类取代某些内置类型可以实现独特的功能,因为可以为代理类定义成员函数而但却无法对内置类型定义操作.条款5就展示了一个使用代理类阻止隐式类型转换的例子. 2. 实现二 阅读全文
posted @ 2015-10-09 14:47 Reasno 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 1. reference counting使得多个等值对象可以共享同一实值,这样不仅简化了heap objects的簿记工作,便于管理内存,而且能够节省空间,提升效率.以下讨论以自实现的String为例. 2. Reference Counting(引用计数)的实现 基本设计像这样: class S 阅读全文
posted @ 2015-10-07 18:55 Reasno 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 1. 智能指针(如标准库的auto_ptr,shared_ptr,weak_ptr,boost的scoped_ptr等)主要用于动态内存的管理,同时提供给用户与内置指针一样的使用方法,本条款主要涉及智能指针在构造与析构,复制和赋值,解引等方面的注意点,而非智能指针的实现细节. 2. 智能指针的构造, 阅读全文
posted @ 2015-10-06 22:31 Reasno 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 1. 要求对象产生于堆中 由于non-heap 对象会在定义时自动构造,并在寿命结束时自动析构,因此要阻止客户产生non-heap对象,只需要将构造或析构函数声明为private.又由于构造函数可能有多个,儿媳够函数只有一个,因此更好的选择是将析构函数声明为private,然后开放一接口调用它,像这 阅读全文
posted @ 2015-10-06 12:23 Reasno 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 1. 针对某些有特殊功能的类,有时需要限制其对象数量,例如系统中只有一个打印机,因此需要将打印机的对象数目限制为1,或者只有16个file descriptor(文件描述器)可用,因此必须确定不会有更多的descriptor objects被产生出来,在这些情况下.就需要限制对象数目,或者说阻止对象 阅读全文
posted @ 2015-10-06 01:00 Reasno 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 一、 直接初始化和复制初始化 1.定义:直接初始化使用"( )"符号,如:string s("hello");复制初始化使用"="符号,如:string s="hello". 2.区别:对于内置类型,直接初始化和复制初始化没有差别:其操作都是"提供一个值,并且把这个值复制到新定义的对象中"(《C++ 阅读全文
posted @ 2015-09-28 02:23 Reasno 阅读(2293) 评论(0) 推荐(0) 编辑
摘要: 1. Virtual constructor 原则上构造函数不能为虚:虚函数用于实现"因类型而异的行为",也就是根据指针或引用所绑定对象的动态类型而调用不同实体,但构造函数用于构造对象,在对象构造之前自然没有动态类型的概念,虚与非虚也就无从谈起.所谓的的virtual-constructor实际上是 阅读全文
posted @ 2015-09-26 22:04 Reasno 阅读(333) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页