सहयोगी कंटेनर के लिए, क्या ++ ऑपरेटर संग्रह के अंत में एक इटरेटर भेज सकता है?क्या एसटीएल मानचित्र इटरेटर बढ़ने के माध्यम से सीमा से बाहर जा सकता है?
उदाहरण:
map<UINT32, UINT32> new_map;
new_map[0] = 0;
new_map[1] = 1;
map<UINT32, UINT32> new_iter = new_map.begin();
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
इस के अंत में, new_iter == new_map.end(), या यह महान अज्ञात में समाप्त करता है?
नोट: मुझे पता है कि यह गड़बड़ है और चीजों को करने का तरीका नहीं है। मैं कुछ डब्ल्यूटीएफ कॉर्पोरेट कोड के आसपास काम कर रहा हूं।
तो क्या आपने इसे संकलित किया है और जांच की है कि क्या यह अंत में new_map.end() होगा? यदि आप निश्चित नहीं हैं तो इस तरह के किसी प्रश्न का उत्तर देने का शायद सबसे आसान तरीका। – Goz
@Goz: नहीं, यह सिर्फ जवाब देगा कि एक कार्यान्वयन क्या कर रहा है। – sbi
संभावित डुप्लिकेट [क्या होता है यदि आप एक एसटीएल कंटेनर के अंत पुनरावर्तक के बराबर एक इटरेटर को बढ़ाते हैं] (https://stackoverflow.com/questions/1057724/what-happens-if-you-increment-an-iterator -थैट-इज़-बराबर-टू-एंड-इटरेटर-ऑफ-ए) – Raedwald