私は、パフォーマンスが重要なプログラムを開発しています。そこQMultiMap
では、に似た、Qtフレームワークによって提供されるクラスであるを使用しstd::map
ます。
QMultiMap<int, SomeClass> heavilyUsedMap;
void prepareMap()
{
...
heavilyUsedMap.reserve(nEntries); // There is no reserve.
// fill heavilyUsedMap with a known number of entries.
}
void useMap()
{
// computations
heavilyUsedMap.clear();
}
よく使いますprepareMap()
。最適化する場合は、メモリをに割り当てるのが理にかなっていますheavilyUsedMap
。
QVector<T>
確かにQHash<Key, T>
、コンテナ:、、、、、およびすべてがこの可能性を提供しますが、提供QSet<T>
しません。QString
QByteArray
QMap<Key, T>
QMultiMap<Key, T>
QMap<Key, T>
これはなぜですか。また、およびにメモリを事前に割り当てるにはどうすればよいQMultiMap<Key, T>
ですか。