अधिकांश कंटेनर के लिए, iterator
प्रकार कंटेनर में मानों को पढ़ने-लिखने की पहुंच प्रदान करता है, और const_iterator
प्रकार केवल पढ़ने के लिए पहुंच प्रदान करता है। हालांकि, std::set<T>
के लिए, इटरेटर प्रकार रीड-राइट एक्सेस प्रदान नहीं कर सकता है, क्योंकि सेट में एक मान को संशोधित करना (संभावित रूप से) कंटेनर इनविरिएंट को तोड़ देता है। इसलिए, std::set<T>
में, iterator
और const_iterator
दोनों केवल पढ़ने के लिए उपलब्ध हैं।क्या std :: set :: iterator और std :: set :: const_iterator के बीच कोई परिचालन अंतर है?
यह मुझे मेरे प्रश्न पर ले जाता है: क्या std::set<T>::iterator
और std::set<T>::const_iterator
के साथ आप जो कुछ कर सकते हैं, उसके बीच कोई अंतर है?
ध्यान दें कि सी ++ 11 में, कंटेनर के मैनिपुलेशन विधियां (उदा।, erase
) const_iterator
तर्क ले सकते हैं।