QMap 插入自定义数据结构
时间: 2023-06-30 18:16:39 浏览: 396
自定义数据结构
4星 · 用户满意度95%
要在 QMap 中插入自定义数据结构,首先需要确保该数据结构实现了比较运算符,以便在 QMap 中进行排序和查找。比较运算符可以通过重载操作符实现,例如:
```
struct MyStruct {
int id;
QString name;
bool operator<(const MyStruct& other) const {
return id < other.id;
}
};
```
以上代码定义了一个包含 id 和 name 两个成员变量的自定义数据结构 MyStruct,并重载了小于运算符,以便在 QMap 中进行排序和查找。
接下来,可以通过 QMap 的 insert 或 insertMulti 方法插入自定义数据结构。例如:
```
QMap<int, MyStruct> myMap;
MyStruct myStruct1 = { 1, "Alice" };
MyStruct myStruct2 = { 2, "Bob" };
myMap.insert(1, myStruct1);
myMap.insert(2, myStruct2);
```
以上代码创建了一个 QMap 对象 myMap,并向其中插入了两个 MyStruct 对象。其中,键为整数类型,值为 MyStruct 类型。
需要注意的是,如果自定义数据结构中的比较运算符发生了变化,可能会导致 QMap 中的排序和查找结果不一致。因此,在修改自定义数据结构时需要谨慎考虑。
阅读全文