07-2-1,07-2-7
来源:互联网 发布:淘宝网天猫帽子 编辑:程序博客网 时间:2024/05/22 17:15
//07-2-1
1 关于C++中静态对象的提前初试化。
C++中可以在main函数之前调用一些方法,比如给静态变量初始化,单体的初始化等,这有方便也有坏处。
坏处就是没有调用的顺序,有可能出现这样得情况:一个类正在向类管理器(单体)注册类信息(类信息是必须在main之前被确定),但是这个时候的类管理器都还没有初始话!
解决得办法就是将类管理器单体的构造过程放在取单体的方法中:
class ClassMgr
{
static ClassMgr& instance()
{
static ClassMgr mg;
return mg;
}
};
// 07-2-3
*********************************
这个世界上不应该有单体存在。任何对象都处于各种不同的环境下。
环境诞生之时,也就是单体生命开始之既。
----为单体的初试化和销毁头痛的soniced大人
// 07-2-4
1 对象的销毁
C++对象的死亡和回收确实需要格外注意。今天我发现了一个例子。
在一个对象的许多成员对象自动析构的时候,如果这些对象间彼此存在关联,那么析构的顺序有可能会带来些问题。
我的例子是自动工厂:
class AutoFactory
{
Pool pool;
Factory *fct;
~AutoFactory ()
{
for (Elem in pool)
{
fct->destroy (elem);
}
}
Elem *alloc ();
void registerFct (Factory* f);
}
class Obj
{
AutoFactory afct;
Factory itemFct;
void someFunc ()
{
afct.registerFct (&itemFct);
}
}
问题在Obj里面,当它的成员afct死亡的时候,将会使用itemFct来回收资源(见AutoFactory的析构函数),
但是这个时候itemFct还在吗?
// 07-2-7
今天,图象工厂发现了一个资源泄露的BUG,工厂里面的资源计数器记录了未释放的资源个数。
终于开始尝到了工厂模式带来的好处了。
- 07-2-1,07-2-7
- 07~1月記事 1/2
- 2017-07-07 2,3,5,7倍数
- 07-2-26
- 周球报(07-6-2)
- 2012-07-08-2
- 2012-07-16-2
- 07上机练习2
- 杂记 05/07/2011-2
- java学习笔记07-2
- 07-抽象(类)2
- 07-7-31 学习日记(1)
- 第2课 07 JS中级课程-文档宽高及窗口事件-7
- 07-08-01学习日记(2)
- 第11章 GUI 07 ActionEvent 2
- PAT 数据结构 2-07 数列求和
- 2、RenderScript的计算(2013.05.07)
- L2:07 - Seach 2D Matrix II
- 数据本地缓存方法
- 编程思绪,06-6-16 到 06-11-23
- 今日e语-7月15日
- Hibernate 检索策略详解 (1)
- 06-12-14,07-1-29
- 07-2-1,07-2-7
- 2007-2-13,2007-2-24
- pChard——php生成图表功能
- 2007-2-26,2007-8-16
- 结构体的一点随笔
- 2007-8-21,06-9-11
- 怎样限制web服务器在线人数
- 06-9-21,06-9-22
- 06-10-30,06-12-12