用宏实现的单例模式

来源:互联网 发布:南大碎尸案凶手知乎 编辑:程序博客网 时间:2024/05/12 11:48
#define SINGLETON_CLASS_NO_DEF_CONSTRUCT_BODY(class_name)\    private:\    class_name();\    class_name(const class_name&);\    class_name & operator = (const class_name &);\    public:\    static class_name & Instance()\        {\        static class_name one;\        return one;\        }#define SINGLETON_CLASS(class_name)\    private:\    class_name(){}\    class_name(const class_name&);\    class_name & operator = (const class_name &);\    public:\    static class_name & Instance()\        {\        static class_name one;\        return one;\        }

两个宏的区别仅在于是否实现 默认的无参构造函数。