/
githubmirror
/
CPlusPlusThings
Обзор
Документация
Войти
/
githubmirror
/
CPlusPlusThings
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
design_pattern/singleton/pthreadoncesingleton.cpp
24 строки
578 B
zhangxing
support bazel complie this project and format code.
30 мар 2024, 17:00
30 мар 2024, 17:00
3c8a3f2
Код
Авторство
О чём код?
// // Created by light on 20-2-6. // #include <pthread.h> #include <sys/param.h> class singleton { private: singleton(); //私有构造函数,不允许使用者自己生成对象 singleton(const singleton &other); //要写成静态方法的原因:类成员函数隐含传递this指针(第一个参数) static void init() { p = new singleton(); } static pthread_once_t ponce_; static singleton *p; //静态成员变量 public: singleton *instance() { // init函数只会执行一次 pthread_once(&ponce_, &singleton::init); return p; } };