当前位置: 首页 > news >正文

Qt之QCache和QContiguousCache

一.QCache

QCache在构造的时候指定了缓存中允许的最大成本,也就是如下构造函数中的参数maxCost。默认情况下,QCache's maxCost() 是100。

QCache(int maxCost = 100)
~QCache()
void clear()
bool contains(const Key &key) const
int count() const
bool insert(const Key &key, T *object, int cost = 1)
bool isEmpty() const
QList<Key> keys() const
int maxCost() const
T *object(const Key &key) const
bool remove(const Key &key)
void setMaxCost(int cost)
int size() const
T *take(const Key &key)
int totalCost() const

在向QCache中插入新的数据时,也可以指定对应的成本(insert的第三个参数);如果总成本大于允许的最大成本,就会自动将缓存中最古老的一些数据删除掉,使得总成本仍然小于或者等于允许的最大成本。因此,如果考虑到缓存数据的成本,那么使用QCache就会比QHash和QMap方便很多。
如果要从QCache中删除特定key的对象,请调用remove,这不仅把对象移出QCache,还将删除该对象。如果您想在QCache不删除对象的情况下从缓存中移除对象,请使用take()。这两个特性和QHash、QMap是一样的。
下面是一个Demo:

#include <QCache>
#inc
http://www.lryc.cn/news/256004.html

相关文章:

  • Django讲课笔记01:初探Django框架
  • JS中的闭包
  • 深度学习在计算机视觉中的应用
  • 模板与泛型编程
  • 【Fastadmin】一个完整的轮播图功能示例
  • Ribbon 饥饿加载
  • 【AIGC】大语言模型的采样策略--temperature、top-k、top-p等
  • pip的基本命令和使用
  • RocksDB实现原理
  • mysql 链接超时的几个参数详解
  • [架构之路-259]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 面向服务的架构SOA与微服务架构(以服务为最小的构建单位)
  • 7z压缩成jar包
  • python-缩进式编码+算术运算符+定义与赋值代码示例
  • APM性能分享观看有感
  • 免费好用的API接口攻略
  • 五、C#笔记
  • Oracle的错误信息帮助:Error Help
  • 阿里云磁盘在线扩容
  • OpenCV图像相似性比对算法
  • RedHat8.1安装mysql5.6(GLIBC方式)
  • 数据结构之插入排序
  • 2023年江西省“振兴杯”网络信息行业(信息安全测试员)职业技能竞赛 Write UP
  • 【5G PHY】5G NR 如何计算资源块的数量?
  • 解决oracle.sql.TIMESTAMP序列化转换失败问题 及 J2EE13Compliant原理
  • QQ2023备份
  • HNU计算机结构体系-实验2:CPU动态指令调度Tomasulo
  • 智慧城市是什么?为什么要建智慧城市?
  • 数据结构线性表-栈和队列的实现
  • IntelliJ IDEA 的 HTTP 客户端的高级用法
  • 代码随想录算法训练营第四十六天 _ 动态规划_198.打家劫舍、213.打家劫舍II、337.打家劫舍 III。