在QT中对QMap<QString,QMap<QString,long long>>类型数据的指定元素进行+-赋值操作,请给我完整代码
时间: 2024-02-15 09:02:43 浏览: 68
下面是一个简单的例子,演示了如何对`QMap<QString,QMap<QString,long long>>`类型的数据进行指定元素的加减操作:
```cpp
#include <QCoreApplication>
#include <QMap>
#include <QString>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 初始化数据
QMap<QString, QMap<QString, long long>> data;
data["Alice"]["Math"] = 90;
data["Alice"]["English"] = 80;
data["Bob"]["Math"] = 85;
data["Bob"]["English"] = 92;
// 对指定元素进行加减操作
QString name = "Alice";
QString subject = "Math";
long long delta = 5;
data[name][subject] += delta;
name = "Bob";
subject = "English";
delta = -3;
data[name][subject] += delta;
// 输出结果
for (auto it = data.constBegin(); it != data.constEnd(); ++it) {
qDebug() << it.key() << ":";
for (auto jt = it.value().constBegin(); jt != it.value().constEnd(); ++jt) {
qDebug() << " " << jt.key() << ": " << jt.value();
}
}
return a.exec();
}
```
输出结果如下:
```
"Alice" :
"English" : 80
"Math" : 95
"Bob" :
"English" : 89
"Math" : 85
```
阅读全文