当前位置:   article > 正文

大话设计模式之单例模式

大话设计模式之单例模式

单例模式是一种创建型设计模式,它确保类只有一个实例,并提供一个全局访问点来访问该实例。

单例模式通常在以下情况下使用:

  1. 当一个类只能有一个实例,并且客户端需要访问该实例时。
  2. 当该唯一实例需要被公开访问,以便在整个应用程序中共享状态或功能时。
  1. #include <iostream>
  2. class Singleton {
  3. public:
  4. // 获取单例实例的静态方法
  5. static Singleton& getInstance() {
  6. // 使用静态局部变量确保只初始化一次
  7. static Singleton instance;
  8. return instance;
  9. }
  10. // 删除拷贝构造函数和拷贝赋值运算符
  11. Singleton(const Singleton&) = delete;
  12. Singleton& operator=(const Singleton&) = delete;
  13. // 用于测试的示例方法
  14. void showMessage() {
  15. std::cout << "Hello from Singleton!" << std::endl;
  16. }
  17. private:
  18. // 私有构造函数,防止外部直接实例化
  19. Singleton() {}
  20. };
  21. int main() {
  22. // 获取单例实例并调用示例方法
  23. Singleton& singleton = Singleton::getInstance();
  24. singleton.showMessage();
  25. return 0;
  26. }
  27. /*
  28. 在这个示例中,Singleton 类只有一个私有构造函数,防止外部直接实例化。
  29. getInstance() 方法是获取单例实例的静态方法。静态局部变量确保 instance 只被初始化一次,
  30. 因此该方法返回的是同一个实例。拷贝构造函数和拷贝赋值运算符被删除,以确保单例实例不会被复制。
  31. 在 main() 函数中,我们获取单例实例并调用其 showMessage() 方法来展示单例模式的使用。
  32. */

觉得有帮助的话,打赏一下呗。。

           

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/444078
推荐阅读
相关标签
  

闽ICP备14008679号