前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt容器类的简化操作

Qt容器类的简化操作

作者头像
Qt君
发布2019-07-15 15:41:44
6210
发布2019-07-15 15:41:44
举报
文章被收录于专栏:跟Qt君学编程跟Qt君学编程

在使用序列化容器或关联容器时候,采用传统的插入赋值的方法会略显繁琐,本篇文章将介绍怎么简化其用法,提供开发效率。使用{}符可以达到简化操作的效果。

1. 序列化容器一般做法

(1) QList:

代码语言:javascript
复制
QStringList strList;
strList.append("1");
strList.append("2");
strList.append("3");

(2) 又或者这样:

代码语言:javascript
复制
strList<<"1"<<"2"<<"3";

(3) 简化做法:

代码语言:javascript
复制
QStringList strList({"1", "2", "3"});

2. 关联容器一般做法

(1) QMap容器一般做法:

代码语言:javascript
复制
QMap<QString, QString> map;
map["1"] = "1";
map["2"] = "2";
map["3"] = "3";

(2) 简化做法:

代码语言:javascript
复制
QMap<QString, QString> map({{"1", "1"}, {"2", "2"}, {"3", "3"}});

(3) 带嵌套的复杂做法:

代码语言:javascript
复制
QMap<QString, QMap<QString, QString>> map = {
    {"1", {{"1", "1"}} },
    {"2", {{"2", "2"}} },
    {"3", {{"3", "3"}} }
};

QList<QMap<QString, QString>> list = {
  {{"1", "1"}},
  {{"2", "2"}},
  {{"3", "3"}}
};

3. 总结了一下用法

(1) QList是单对"{}"组成,QMap是双对"{}"组成,按照这一个规则就可以初始化或赋值的简化了;

(2) 除了QList序列化容器外,它还支持QLinkedList,QVector;

(3) 除了QMap关联容器外,它还支持QMultiMap,QHash,QMultiHash。

4. 需要注意事项

(1) 该用法需要支持C++11语法;

(2) 在使用方便的同时,但是在多数据赋值时容易出错。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档