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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM