stdmap 用 at() 取值,如果 key 不存在,不好意思,程序崩溃。QMap 用 value()取值,如果 key 不存在,不会崩溃,你还可以指定默认值

我觉得 Qt6 最应该升级的是容器类

stdmap 在遍历的时候,同时获取 key 与 value 非常方便:

for(auto& var:map){
    qDebug()<<var.first<<var.second;
}

但是 QMap 就做不到这么便利了。

for(auto i=qmap.begin();i!=qmap.end();i++){
    qDebug()<<i.key()<<i.value();
}

不过说实话,改容器类有点伤筋动骨。

当然我还是建议使用 Qt 自己的容器库。
因为在取值的时候,QMap 就比 stdmap 靠谱多了。

stdmap 用 at() 取值,如果 key 不存在,不好意思,程序崩溃
QMap 用 value()取值,如果 key 不存在,不会崩溃,你还可以指定默认值

http://www.qtcn.org/bbs/read-htm-tid-86101.html

posted @ 2019-09-12 17:58  findumars  Views(2570)  Comments(0Edit  收藏  举报