#include <iostream>
#include <memory>
class singleton {
public:
singleton() = default;
// 禁止拷贝构造
singleton(singleton const &) = delete;
// 禁止赋值
singleton &operator=(singleton const &) = delete;
virtual ~singleton() = default;
public:
// 返回智能指针,保证创建的对象可以被销毁
static std::shared_ptr<singleton> get_instance() {
static std::shared_ptr<singleton> ins(new singleton());
return ins;
};
// for test
public:
void hello() {std::cout << "hello, world!" << std::endl;}
};
int main() {
auto s = singleton::get_instance();
s->hello();
return 0;
}
C++中的单例模式
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 含义 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中...
- 一、单例模式简单来说就是确保一个类只有一个实例。 二、单例模式是资源管理的必备模式,保证一个类只有一个实例,并且这...