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

沈阳网站建设培训搜索引擎优化seo应用

沈阳网站建设培训,搜索引擎优化seo应用,成都网站优化服务,建设银行网站怎么下载地址QMap<type,type>和QVector<QPair<type,type>>区别和优缺点 —— 本文为学习笔记&#xff0c;如有疑问欢迎指出~ 一、QMap<>和QVector<QPair<>> 1. 数据结构本质 ① 底层实现&#xff1a; QMap&#xff1a;红黑树&#xff08;平衡二叉…

QMap<type,type>和QVector<QPair<type,type>>区别和优缺点

—— 本文为学习笔记,如有疑问欢迎指出~


一、QMap<>和QVector<QPair<>>

1.  数据结构本质

① 底层实现:

  • QMap:红黑树(平衡二叉搜索树)
  • QVector<QPair>:动态数组

② 排序方式:

  • QMap:按键key自动排序
  • QVector<QPair>:保持插入顺序

③ 键唯一性:

  • QMap:自动去重
  • QVector<QPair>:允许重复键

④ 内存布局:

  • QMap:非连续内存
  • QVector<QPair>:连续内存

2. 推荐使用场景

二、 QMakePair<>和QPair<>

 1.  QPair< >

  • 定义:Qt提供的一个模板,用于存储一对值(eg: std::pair)
template <typename T1,typename T2> class QPair;
  • 构造:
// 直接构造
QPair<double, QString> valueLabel(3.14, "Pi");// 使用构造函数
QPair<double, QString> valueLabel = QPair<double, QString>(3.14, "Pi");
  • 存储\访问:存储两个值(first,second)
QPair<int, QString> pair(42, "Answer");
int a = pair.first;        // 42
QString b = pair.second;   // "Answer"
  • 优点:

        ① 类型安全,明确指定两个值的类型;
        ② 直接访问,通过 .firat和 .second直接访问成员;
        ③ 标准兼容,与Qt容器(如QVector、QList)无缝集成;
        ④ 内存高效,没有额外开销,只存储两个值。

  • 缺点: 

        ① 冗长,需要显示指定模板参数类型;
        ② C++ 11前不能使用自动类型推导;

2. QMakePair< >

  • 定义:是一个模板函数,用于创建QPair对象
template <typename T1, typename T2> 
QPair<T1, T2> qMakePair(const T1 &value1, const T2 &value2) {return QPair<T1, T2>(value1, value2);
}
  • 特点:

        ① 工厂函数:创建并返回QPair对象;
        ② 类型推导:自动推导模板参数类型;

  • 使用:
auto pair = qMakePair(42, "Answer");
  • 优点:代码简洁清晰
// 简洁写法
lst.append(qMakePair(value, label));
  • 缺点:

        ① 间接性:多一层函数调用;
        ② 类型模糊:可能不如显式指定精确;
        ③ C++ 11后有更简洁的方式替代如下

// C++11 替代写法
lst.append({value, label}); 

3. 对比

4. C++ 11及以后替代建议

// 列表初始化(最简洁)
lst.append({value, label});// 结构化绑定(C++17)
for (const auto &[val, lbl] : lst) {// 使用 val 和 lbl
}

5. 直接使用QPair的场景

// 当需要明确指定类型时(如类型转换)
lst.append(QPair<double, QString>(static_cast<double>(intValue), QString::number(intValue)
));// 当自动类型推导不符合预期时

http://www.dtcms.com/wzjs/139056.html

相关文章:

  • 做旅游宣传图的网站有哪些2022千锋教育培训收费一览表
  • wordpress文章内模板优化设计全部答案
  • 做网站的虚拟机怎么用班级优化大师学生版
  • 毛片a做片在线观看网站班级优化大师免费下载app
  • 重庆新闻网官网win7优化极致性能
  • 网站上传 空间 数据库seo排名技巧
  • 电影怎么做bt种子下载网站深圳新闻最新事件
  • 武进网站建设价位杭州seo渠道排名
  • 周口网站建设网络工作室百度地图网页版进入
  • 郑州做响应式网站小区推广最有效的方式
  • 做网站引用没有版权的歌曲快手作品推广网站
  • 做产品展示网站网站推广网络营销
  • 基于wed的网站开发百度贴吧网页版登录入口
  • wordpress点开文章显示空白宁波正规站内优化seo
  • 网站服务器权限微信社群营销
  • filezilla wordpress优化外包服务公司
  • 做公益网站的说明2021国内最好用免费建站系统
  • 哈尔滨做网站设计手机百度app下载
  • 好域名做网站河南seo技术教程
  • 吉安永新哪里做网站网站推广排名收费
  • 商务网站建设 视频网络推广免费平台
  • 山东建设工程上传原件的网站百度 搜索热度
  • wordpress子分类关键词优化排名怎么做
  • 菏泽做网站建设找哪家海南百度推广中心
  • 免费网站建设浩森宇特seo 0xu
  • 重庆 网站设计外包公司网站被百度收录
  • 英孚做测试的网站十大新媒体平台有哪些
  • 企业网站的布局aso优化app推广
  • 网站数据库查询怎么做的深圳网站优化推广方案
  • 网站访问量怎么增加微信朋友圈广告30元 1000次