मैं const_iterator
को iterator
से सी ++ में कैसे प्राप्त करूं? const_iterator
के बारे में insert_iterator
से क्या? परिणामी iterator
मूल स्थान के समान स्थान पर इंगित करना चाहिए।सी ++ iterator to const_iterator
15
A
उत्तर
22
कंटेनरों iterator
एक प्रकार const_iterator
के लिए परिवर्तनीय के रूप में प्रदान करने के लिए आवश्यक हैं, तो आप परोक्ष परिवर्तित कर सकते हैं:
Container::iterator it = /* blah */;
Container::const_iterator cit = it;
std::insert_iterator
रों उत्पादन iterators हैं। यह उन्हें नियमित Container::iterator
में परिवर्तित करने का कोई तरीका नहीं देता है जो एक आगे इटरेटर होना चाहिए।
एक और प्रकार का डालने वाला इटरेटर ऐसी चीज की अनुमति दे सकता है, लेकिन मानक कार्यों से प्राप्त किए गए लोग नहीं करते हैं।
मुझे लगता है कि आप अपने खुद के आवरण के आसपास std::insert_iterator
कि संरक्षित सदस्य iter
को उजागर करता है, हालांकि लिख सकते हैं:
template <typename Container>
class exposing_insert_iterator : public std::insert_iterator<Container> {
public:
exposing_insert_iterator(std::insert_iterator<Container> it)
: std::insert_iterator<Container>(it) {}
typename Container::iterator get_iterator() const {
return std::insert_iterator<Container>::iter;
}
};
// ...
std::insert_iterator<Container> ins_it;
exposing_insert_iterator<Container> exp_it = ins_it;
Container::iterator it = exp_it.get_iterator();
4
आप उन्हें बदल सकते हैं। उदाहरण:
std::vector<int> v;
std::vector<int>::iterator it = v.begin();
std::vector<int>::const_iterator cit = it;
लेकिन मुझे लगता है कि यह वह जवाब नहीं है जिसे आप चाहते हैं। मुझे कोड दिखाओ :-)
संबंधित मुद्दे
- 1. सी # iterator
- 2. सी ++ iterator?
- 3. सी ++ मानक: मल्टीसेट में अप्रत्याशित const_iterator
- 4. क्या std :: set :: iterator और std :: set :: const_iterator के बीच कोई परिचालन अंतर है?
- 5. प्रकार मिट सी ++ उत्पादन iterator
- 6. const_iterator की स्थिरता को कैसे हटाया जाए?
- 7. ++ iterator और iterator ++ के बीच प्रदर्शन अंतर?
- 8. JSON Iterator
- 9. ग्रोवी - Iterator
- 10. स्कैला Iterator
- 11. m.find (...) == m.end() - जिसका उपयोग किया जाता है, इटरेटर या const_iterator
- 12. सूची Iterator निकालें()
- 13. एक गणना को Iterator
- 14. सी ++ इटरेटर और कॉन्स्ट_इटरेटर समस्या कंटेनर क्लास
- 15. लगातार नक्शा iterator mymap.begin लिए()
- 16. परीक्षण C++ iterator
- 17. बेहतर संग्रह Iterator
- 18. क्या Iterator समर्थन + ऑपरेटर है?
- 19. पॉइंटर्स के साथ const_iterator को समझना?
- 20. इटरेटर और const_iterator (एसटीएल) की विभिन्न दक्षता
- 21. डिबगिंग (सी #), जबकि iterator ब्लॉक में कदम नहीं कर सकते
- 22. दो काम करता है, को वापस लौटाते इटरेटर, अन्य लौटने const_iterator
- 23. linq-to-Nhibernate
- 24. wav-to-midi रूपांतरण
- 25. LINQ-to-SQL
- 26. linq-to-sql
- 27. ffmpeg wma to wav
- 28. Varchar to eNum
- 29. छवि Uri to bytesarray
- 30. LINQ-to-SQL
कास्टिंग काम नहीं करता है? – Pubby
@ Pubby8: एक कलाकार की भी आवश्यकता नहीं है! –
हू, मुझे गड़बड़ होनी चाहिए। मैंने सोचा कि मुझे एक कंपाइलर त्रुटि मिली है जब मैंने उन्हें स्पष्ट रूप से रूपांतरित करने की कोशिश की। –