c++ - Get a pointer to STL container an iterator is referencing? -
उदाहरण के लिए, निम्नलिखित संभव है:
std :: सेट & lt; int & gt; रों; Std :: सेट & lt; int & gt; :: iterator = s.begin (); मुझे आश्चर्य है कि विपरीत संभव है, कहते हैं,
std :: सेट & lt; int & gt; * pSet = it- & gt; ** getContainer ** (); // कुछ इस तरह से ...
नहीं, कोई पोर्टेबल तरीका नहीं है यह।
एक इरेटरेटर का कंटेनर का भी कोई संदर्भ नहीं हो सकता है उदाहरण के लिए, एक कार्यान्वयन T * को iterator के रूप में दोनों std :: arrays & lt; T, N & gt; और std के लिए इस्तेमाल कर सकते हैं :: वेक्टर & lt; T & gt; , क्योंकि दोनों अपने तत्वों को सरणियों के रूप में संग्रहीत करते हैं। इसके अलावा, इटेरेटर्स कंटेनर की तुलना में अधिक सामान्य हैं, और सभी इटरेटर कंटेनरों में इंगित नहीं करते (उदाहरण के लिए, इनपुट और आउटपुट इटरेटर जो स्ट्रीम पर पढ़ते हैं और लिखते हैं)।
Comments
Post a Comment