私は、パフォーマンスが重要なプログラムを開発しています。そこ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>しません。QStringQByteArrayQMap<Key, T>QMultiMap<Key, T>
QMap<Key, T>これはなぜですか。また、およびにメモリを事前に割り当てるにはどうすればよいQMultiMap<Key, T>ですか。