answersstd::vector
के साथ बहुत सारे हैं, लेकिन std::unordered_set
के बारे में क्या है?क्या स्पष्ट() std :: unordered_set की बाल्टी गिनती को प्रभावित करता है?
मेरा वास्तविक प्रश्न (निकट से संबंधित) यह है; क्या प्रत्येक समान उपयोग से पहले इसे साफ़ करके उसी असाधारण सेट का पुन: उपयोग करना कुशल है, अगर मैं आरक्षित करता हूं जो मुझे पहले से उचित आकार के रूप में जाना जाता है?
मैं कहूंगा कि यह कार्यान्वयन विशिष्ट होगा। मानक केवल निर्दिष्ट करता है कि 'स्पष्ट()' कंटेनर में सभी तत्वों को मिटा देता है। –
मुझे लगता है कि [वही तर्क 'std :: vector :: reserve'] के लिए लागू होता है (http://stackoverflow.com/a/18467916): 'bucket_count' अवलोकन योग्य राज्य का हिस्सा है; इसे सम्मिलन में बदलने की अनुमति है, लेकिन इसे 'रिहाश' या 'रिजर्व' (या यहां तक कि 'मिटाएं' पर भी बदलने की अनुमति नहीं है, जहां तक मैं देख सकता हूं ..)। – dyp
@dyp: आपने मुझे खो दिया है ... "' bucket_count' ... स्पष्ट रूप से 'रिहाश' या 'रिजर्व' पर बदलने की अनुमति नहीं है - बाद में बाल्टी की संख्या (इस प्रकार 'bucket_count()') संशोधित करने के लिए - पूर्व सीधे बाल्टी की एक नई संख्या स्वीकार करता है (लेकिन 'आकार()/max_load_factor()' सैनिटी चेक) के अधीन है और बाद वाले इसे कई अनुमानित तत्वों और वर्तमान 'max_load_factor' से प्राप्त करता है। "स्पष्ट" या नहीं, वे यही करते हैं। –