2
QSet
に特定の値が含まれているかどうかを確認する必要がありますが、その値がない場合は挿入して値を挿入するかどうかを示すブール値(true
)、または既にそこにいたかどうか(false
)。私の質問は、これを効率的に行う方法です。次のコードは実際にハッシュを計算し、そのセットを2回検索します。これは非常に非効率的です。QSetに要素が含まれているかどうかを効率的にテストしてください。
QSet<QString> names;
bool inserted = false;
QString name = "Dave";
if (!names.contains(name))
{
inserted = true;
names.insert(name);
}
ませんが、 'のstd ::設定:: insert'あなたは、私が理由で' QSet'が必要 – user463035818
たいまさにありません。私は 'std :: unordered_set'でもOKですが、' QString'のカスタムハッシュ関数を気にする必要があります。 –
ええ私はすでにあなたがそれを理由で使用していると想定していました。なぜなら、 'QSet :: insert'も同様の働きをしているのに驚いています。 – user463035818