ファイルからのデータをに保存する関数read
( を受け取って返す)があります-明確にするために、このテンプレートに適合する QHash を呼び出しましょう。私の目的は、存在するすべての esの「マスター」リストを作成することでした。これを -- と呼びましょう。内では、すべて問題ありません。とは同一です。void
QHash<QString,QHash<QString,QString> >
hash
hash
QHash<QHash<QString,QHash<QString,QString> > >
masterHash
read
masterHash["hash1"]
hash1
ファイルにデータを保存する別の関数write
(フォームの QString を受け取り、"hash1"
を返す) があります。さて、これが私が最初に作成した目的でした-からアクセスすることです。内には、に格納されていたものがまだ含まれていますが、現在は空です (キーはまだ含まれています)。void
masterHash["hash1"]
masterHash
hash1
"hash1"
write
hash1
read
masterHash["hash1"]
masterHash
"hash1"
私は何が間違っているか、欠けていますか? QHash の逆参照はどこにもありません。(元々、 に保存することさえしませんでしhash1
たが、なぜmasterHash["hash1"]
保存されないのかを理解しようとしていました。)
あるいは、同じ目標を達成するためのより良い方法はありますか (名前の文字列を使用してハッシュを指す)?