std::unordered_map<K, V>
का सामान्य लेआउट क्या है? क्या K
और V
ऑब्जेक्ट्स बाल्टी में स्वयं संग्रहित हैं, या बाल्टी स्टोर पॉइंटर्स को कुंजी और मान वाले नोड्स में करते हैं?सी ++: std :: unordered_map नोड-आधारित होने की गारंटी है?
मैं std::unordered_map<K, V>
बनाम std::unordered_map<K, V*>
का उपयोग करने के प्रदर्शन प्रभावों को समझने की कोशिश कर रहा हूं। मान लीजिए कि मैं कभी भी प्रतिस्थापन और मूल्यों को देखता हूं, क्या बाद वाले को पसंद करने का कोई कारण है, भले ही मूल्य काफी बड़े हों? एकमात्र कारण मैं कल्पना कर सकता हूं कि यदि मूल्य बाल्टी में ऑनलाइन संग्रहीत किया जाता है, और कंटेनर को फिर से दबाए जाने पर हर बार फिर से आवंटित करने की आवश्यकता होती है।
क्या मानक में कुछ भी है जो गारंटी देता है कि ऐसा नहीं होगा?
वे नोड आधारित हैं। सी ++ 17 नोड हैंडल का खुलासा भी करता है। –