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 不存在,不会崩溃,你还可以指定默认值