unordered_multimap::reserve(n)
কন্টেইনারের বাকেট সংখ্যা সেট করে যাতে কমপক্ষে n সংখ্যক এলিমেন্ট ধারণ করতে পারে বিনা রিহ্যাশ (rehash) হয়ে। যদি n > bucket_count() * max_load_factor() হয়, তবে বাকেট বাড়ানো হয় এবং রিহ্যাশ বাধ্য করা হয়।
উদাহরণ কোড
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<char, int> m;
m.reserve(6); // কমপক্ষে 6 এলিমেন্টের জন্য বাকেট রিজার্ভ
m.insert({'b', 10});
m.insert({'a', 20});
cout << "Size: " << m.size() << endl;
cout << "Elements: ";
for (auto &p : m) cout << "{" << p.first << ", " << p.second << "} ";
return 0;
}
আউটপুট
Size: 2
Elements: {a, 20} {b, 10}
উপযোগিতা: বড় সংখ্যক ইনসার্টশন আগে reserve() কল করলে রিহ্যাশ কম হয় এবং পারফরম্যান্স বাড়ে।