C++类的初始化

构造函数的执行顺序

假设有如下两个类:

所有子类(Circle)构造函数如果没有显式调用父类(Shape)构造函数时均会调用父类的默认构造函数。

例如:new Circle() 产生的结果是:

Shape’s default constructor!
Circle’s de[……]

继续阅读

Singleton 模式在多线程实现下的误区

今天使用多线程的方式写一个程序。非常不幸,碰到了死锁问题,最终发现:单例对象的创建时必须保证是同步的,否则多线程高并发情况下,可能创建出多个对象。并且导致错误。
以前写单例对象时使用的是下面的错误的写法:

于是在多线程高并发的情况下,public static SomeObject getI[……]

继续阅读