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

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.kler.cn/a/159186.html

相关文章:

  • 嵌入式课程day13-C语言指针
  • 海康大华宇视视频平台EasyCVR私有化视频平台服务器选购主要参数有哪些?
  • 基于Lora通讯加STM32空气质量检测WIFI通讯
  • 爬虫——JSON数据处理
  • PaoluGPT——千里挑一
  • 《应用数学学报》
  • 第19章 正则表达式 - C++
  • Flink-执行拓扑图与作业调度
  • MacOS 14挂载NTFS 硬盘的最佳方式(免费)
  • CoreDNS实战(五)-接入prometheus监控
  • 【蓝桥杯选拔赛真题28】C++口罩分配 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • JavaScript基础知识21——for循环
  • 分包(微信小程序)
  • 网络安全(三)-- 网络嗅探及协议分析技术
  • maven环境搭建
  • 如何使用llm 制作多模态
  • Spatial Data Analysis(三):点模式分析
  • vue表格合计 计算 保留两位小数
  • 大数据:sql,数据挖掘刷题
  • 0X04
  • CETN01 - How to Use Cloud Classroom
  • 网上选课系统源码(Java)
  • 算法--最短路
  • python实现模拟用户点击行为测试
  • 基本网络安全概述:保护您的数字生活
  • 海外服务器和国内服务器有什么样的区别呢