Ich versuche, boost :: unordered_map zu verwenden, um einige Werte zwischenzuspeichern. Ich versuche, minimale Anzahl von Eimern im Konstruktor angeben:Geben Sie die Mindestanzahl von Buckets an, wenn Sie einen Boost erstellen :: unordered_map
#include <boost/unordered_map.hpp>
typedef boost::unordered_map<float, float> Mycache;
Mycache cache((std::size_t)25165843,
boost::hash<float>(),
std::equal_to<float>(),
std::allocator<std::pair<float const, float> >());
Aber wenn ich Anzeige von Informationen über meine unordered_map am Ende des Programms:
g ++:
unordered_map.size(): 15861612
unordered_map.load_factor: 10.0845
unordered_map.bucket_count: 1572869
unordered_map.max_size: 1572868
unordered_map.max_load_factor: 1
unordered_map.max_bucket_count: 1572869
vC++:
unordered_map.size(): 13916119
unordered_map.load_factor: 8.8476
unordered_map.bucket_count: 1572869
unordered_map.max_size: 1572868
unordered_map.max_load_factor: 1
unordered_map.max_bucket_count: 1572869
Wie lege ich die Mindestanzahl von Buckets fest?
Was haben MSDN und die C++ 0x-Spezifikation mit einem Boost-Objekt zu tun? – efaj