0

C++ では、次のような特殊な QHash を構築しようとしています。

QHash<QString, QStringList> myhash;

このタイプのデータを保存できるように:

QHash key    QStringList values
----------   ------------------
A            1
             2
             3
B            5
             6

ハッシュを適切に構築するための C++ 構文と、ハッシュ値を取得する方法に問題があります。たとえば、B を指定すると、I はループして 5,6 を返します。

これは、新しいキーと値のペアが追加されるときにハッシュに追加するロジックでのハッキングされた試みです。

QHash<QString, QStringList> myhash;

key = "A";
value = "2";

if (myhash.contains(key) ) {
    QStringList mylist = myhash.value(key);    
    mylist.append(value);    
} else {
    QStringList mylist;
    mylist.append(value);
    myhash.insert( key, mylist);
}

myhash の取得ループ ロジックを作成できていないため、これが機能するかどうかはわかりません。

このような QHash からデータを作成して取得するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

QHash の QStringList に値を追加するために必要なことは次のとおりだと思います。

QStringList & mylist = myhash[key];  // will create and insert an empty QStringList if necessary
mylist.append(value);
于 2015-05-27T21:47:54.097 に答える