singleton Class template¶
单例类模板。
语法¶
成员¶
静态方法¶
Name | Description |
---|---|
singleton::instance | 获取单例指针 |
singleton::instance1 | 获取单例指针 |
singleton::destroy | 销毁单例 |
要求¶
头文件: yasio/yasio.hpp
singleton::instance¶
创建或获取单例对象。
参数¶
args
构造单例对象所需参数。
singleton::instance1¶
创建或获取单例对象,使用二段式构造模式。
参数¶
args
构造单例对象所需参数。
singleton::destroy¶
销毁单例对象。
示例¶
#include "yasio/singleton.hpp"
class FruitManager {
public:
FruitManager(int maxCount) : _maxCount(maxCount) {
}
void print() {
printf("FruitManager: maxCount=%d\n", _maxCount);
}
private:
int _maxCount;
};
class FruitManager1 {
public:
void init(int maxCount){
_maxCount = maxCount;
}
void print() {
printf("FruitManager1: maxCount=%d\n", _maxCount);
}
private:
int _maxCount;
};
int main() {
yasio::singleton<FruitManager>::instance(100)->print();
yasio::singleton<FruitManager1>::instance1(&FruitManager1::init, 100)->print();
yasio::singleton<FruitManager>::destroy();
yasio::singleton<FruitManager1>::destroy();
return 0;
}