管理指针成员
摘要: 管理指针成员
大多数C++采用以下三种方法之一来管理指针成员:
(1) 指针成员采取常规指针型行为。这样的类具有指针的所有缺陷但无需特殊的复制控制。
(2) 类可以实现所谓的“智能指针”行为。指针所指向的对象是共享的,但类能够防止悬垂指针。
(3) 类采取值型行为。指针所指向的对象是唯一的。由每个类对象独立管理。
阅读全文
posted @
2008-05-27 10:48 Macaulish 阅读(1748) |
评论 (1) 编辑
Inside the C++ object model(二)
摘要: 第二章 构造函数语意学(the semantics of constructors)
2.1 Default Construcor 的建构操作
有四种情况,会导致“编译器必须为未声明constructor 之class 合成一个 Default constructor ”. C++ Stardand 把那些合成物称为implicit nontrivial default constructor .被合成出来的的constructor 只能满足编译器(而非程序)的需求。它之所以能够完成任务,是借着“调用member object 或 base class 的default constructor ”或是“为每一个object 初始化其virtual function 机制或virtual base class 机制” 而完成。至于没有存在那四种情况而又没有声明任何constructor 的classes ,我们说它们拥有的是 implicit trivial constructors, 它们实际上并不会被合成出来。
阅读全文
posted @
2008-05-23 09:04 Macaulish 阅读(1799) |
评论 (2) 编辑
Inside the c++ object model (一)
摘要: 第一章 关于对象
C++布局以及存取时间是主要的额外负担是由 virtual 引起,包括:
Virtual function 机制 用以支持一个有效率的“执行期绑定”(running binding).
Virtual base class 用以实现“多次出现在继承体系中的base class ,有一个单一而被共享的实体”。.......
阅读全文
posted @
2008-05-20 22:24 Macaulish 阅读(1921) |
评论 (7) 编辑
5.12汶川大地震(二)
摘要: 昨天对我们大多数人来说都是惊恐的一天,而今天则是镇静的。
不过昨天晚上还是挺吓人的,外面下雨没地方去,就只有和同学在寝室里睡觉了。晚上怕睡死了,所以我们准备轮流守夜。半夜的时候,具体时间是多少就不知道了。只听到同学叫我们。我也不知道是怎么从床上跳下来的,穿上拖鞋就冲了出去。怕晚上有余震,我们都是合衣而睡的。冲到楼下的时候,抖动也停了。在楼口碰见了同学,发现他竟然没穿鞋子都冲了下去。回到寝室发现另外一个同学竟然没醒呢,真的是睡眠质量好哈(玩笑)。主要是前一晚上都没休息好。
阅读全文
posted @
2008-05-14 20:55 Macaulish 阅读(2084) |
评论 (6) 编辑