C++ 13 享元模式

  1. 简介

    • 享元模式

      • 缓存机制。

      • 也需要友好的设计释放。

    • 优点

      • 减少对象创建,应用广泛。

      • 缓存机制的实现之一。

  2. 案例

    • 书接上回

      • 鞋贩子允许客户反馈喜欢的,想要买的鞋子,然后专门进货。
    • 代码

      #include <iostream>
      #include <string>
      #include <set>
      
      class XieFanZi{
      public:
       void ChaXun(std::string xie) {
         auto iter = xiezi_.find(xie);
         if (xiezi_.end() != iter) {
           std::cout << "you cun huo" << std::endl;
         } else {
           std::cout << "mei you,jin huo hou tong zhi." << std::endl;
           xiezi_.insert(xie);
         }
       }
      private:
       std::set<std::string> xiezi_;
      };
      
      int main() {
       XieFanZi xiefanzi;
       xiefanzi.ChaXun("adi");
       xiefanzi.ChaXun("nak");
       xiefanzi.ChaXun("adi");
       xiefanzi.ChaXun("nak");
      }
      
    • 说明

      • 第一次查询没有,但是第二次就有了。
      • 因为创建了。
      • 这里的创建是string,改良可以是其他的对象。
  3. 总结

    • 缓存

      • 一次缓存多次使用。
    • 改良

      • 可以通过自动删除,析构时添加来管理。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值