享元模式:
大量 细粒度 的对象,有很高的运行时代价(主要指内存)。运用 共享 技术,有效地支持大量 细粒度 的对象。(例如 字符串、线程池)
1234567891011121314151617181920
class Small {public: std::string key; Small(const std::string& key){}}class SmallFactory {private: std::map<std::string, Small*> SmallPool;public: Small* GetSmall(const std::string& key){ auto item = SmallPool.find(key); if (item == SmallPool.end()) { Small* small = new Small(key); SmallPool[key] = small; } return SmallPool[key]; }}