0

nQHashから番号付きのランダムなペアを取得したい。

今、私はそれをこのようにします:

QHash<QString,QString>::iterator iterator = dictionary.begin();
iterator+= n;
question->setText(iterator.key());

しかし、これはばかげているようです...通常の方法があるはずです。手伝ってくれませんか。QHashのmanページ全体をすでに読みました

4

1 に答える 1

1

QHashランダムな選択は提供していません。この操作を頻繁に実行する必要がある場合keys()は、ハッシュテーブルのをvectorまたはQVectorにコピー(ポインタ)し、そこにランダムインデックスを取得し、キーを使用して。の値を検索しますQHash

を使用する他の目的によってはQHash、ある時点でそれをペアのベクトルに変換し、それをランダムな選択に使用することもできます。

于 2012-10-27T17:41:32.633 に答える