class Singleton
{
public:
~Singleton() {
std::cout << "destructor called!" << std::endl;
}
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
static Singleton& get_instance() {
static Singleton instance;
return instance;
}
private:
Singleton() {
std::cout << "constructor called!" << std::endl;
}
};
int main(int argc, char* argv[])
{
Singleton& instance_1 = Singleton::get_instance();
Singleton& instance_2 = Singleton::get_instance();
return 0;
}
C++ singleton
最新推荐文章于 2025-12-15 07:52:40 发布
这段代码展示了如何在C++中实现Singleton设计模式。Singleton类的构造函数私有化,防止外部直接实例化,同时定义了拷贝构造函数和赋值运算符为删除操作,确保只有一个实例存在。get_instance()静态成员函数用于获取Singleton类的唯一实例。在main函数中,两次调用get_instance()证实了Singleton类只有一个实例(instance_1和instance_2是同一对象的引用)。
1526

被折叠的 条评论
为什么被折叠?



