gpt4 book ai didi

c++ - QMap 和 QPair,C++,Qt

转载 作者:可可西里 更新时间:2023-11-01 17:37:24 32 4
gpt4 key购买 nike

我想制作一个数据结构来通过两种方式访问​​字符串:

  1. 通过ID访问
  2. 按名称访问

我的第一个想法是为每种方法使用两个映射,但这会导致数据重复:

QMap<int, QString> accessById;
QMap<QString, QString> accessByName;

我正在寻找更好的方法,例如:

QMap<QPair<int, QString>, QString> multiAccess;

但这对我没有帮助(至少我不知道该怎么做),因为在 map 中搜索需要同时知道 ID 和名称。如何定义良好的 Qt 类结构来实现我的目标?

没有外部库,但有 Qt

最佳答案

怎么样:

QMap<QString, int> nameIdMap;
QMap<int, QString> accessById;

您通过 ID 访问并为名称和 ID 创建映射。然后你可以通过名称访问

QString data = accessById[nameIdMap[the_name]];

关于c++ - QMap 和 QPair,C++,Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645914/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com