单例模式的c++实现
来源:互联网 发布:互联网金融发展 知乎 编辑:程序博客网 时间:2024/04/30 08:22
singleton.h
文件
#ifndef _SINGLETON_H_#define _SINGLETON_H_class Singleton{public: static Singleton* get_instance() { if(!_instance) return new Singleton(); return _instance; } ~Singleton() { delete _instance; } int test() const { return _test; }private: //防止被用户调用 Singleton():_test(1) {}private: static Singleton* _instance; int _test;};#endif
main.cpp
文件
#include <iostream>#include "singleton.h"using namespace std;Singleton* Singleton::_instance = nullptr;int main(int argc, char *argv[]){ Singleton *sin1 = Singleton::get_instance(); Singleton *sin2 = Singleton::get_instance(); cout << sin1->test() << endl; cout << sin2->test() << endl; return 0;}
这种写法只能用于单线程环境下,如果在多线程环境下,有两个线程同时执行到get_instance()
时,将会产生两个实例。
阅读全文
0 0
- 【Objective-C】单例模式的实现
- Objective-C 单例模式的实现
- c++--Singleton单例模式的实现
- 设计模式--单例模式 C++实现
- 【C++】单例模式的一种简单实现的模板
- Objective —C 的单例模式 Singleton实现
- objective-c 单例模式Singleton的实现
- 单例模式 c语言的实现和使用
- Objective-C 中singleton(单例模式)的实现
- Objective-C 中singleton(单例模式)的实现
- [C#] 静态方式实现的单例是不是懒汉模式?
- [C++] 单件模式的一般实现
- C ++的单例模式
- Objective C 中实现单例模式
- Objective C 实现Singleton(单例)模式.
- Objective-C实现单例模式
- objective-C 实现单例模式
- 单例模式代码实现(C++)
- 二叉搜索树(遍历不递归,不用栈)
- QT中读写文件操作
- 设计模式02-工厂模式
- 【CodeForces 713A】
- JDBC连接mysql
- 单例模式的c++实现
- maven项目 错误: 找不到或无法加载主类
- PAT甲级 1122. Hamiltonian Cycle (25)
- 从零搭建Hadoop集群
- C++primer -2
- 第3课 03 JS中级课程-事件流-事件冒泡机制-3
- 第3课 04 JS中级课程-事件绑定的第二种形式-4
- 【简记】Operating System—— virtual memory
- C++基础复习