मानक लाइब्रेरी की चमकदार नई स्ट्रिंग क्लास का डिज़ाइन पहले से ही किया गया था जब स्ट्रॉस्ट्रप ने एसटीएल को मानक समिति की शुरुआत की थी। समिति ने एसटीएल को पसंद किया और इसे मानक में शामिल करना शुरू किया, जिससे वे पहले से ही सहमत हो गए थे (और शायद दूसरे वर्ष या दो के लिए मानक में भी देरी कर रहे थे)।
अन्य परिवर्तनों के अलावा, इटेटर को पहले से तैयार स्ट्रिंग क्लास में बाद में विचार के रूप में जोड़ा गया था। आप इसे देखकर/वापस लौटने वाले विभिन्न स्ट्रिंग सदस्यों को देखकर देख सकते हैं - यह इंडेक्स और इटरेटर्स का जंगली मिश्रण है।
यह अनुमान लगाना हमेशा आसान नहीं होता है कि क्यों कुछ सदस्य फ़ंक्शंस में केवल इंडेक्स लेने वाले संस्करण होते हैं और कुछ में इटेटरेटर लेने वाले भी होते हैं। std::basic_string<>::find()
के मामले में, हालांकि, यह आसान लगता है: चूंकि std::find()
पहले ही एक इटरेटर लौटाता है, std::basic_string<>::find()
जैसा था।
तो आप कह रहे हैं कि 'स्ट्रिंग :: खोज' का बुरा इंटरफ़ेस वास्तव में अच्छा है क्योंकि यह' string :: substr' के खराब इंटरफ़ेस के साथ अच्छी तरह से इंटरैक्ट करता है? ;) – Praxeolitic
मैं इसे इटरेटर्स के साथ गड़बड़ नहीं करना चाहूंगा जब मैं चाहता हूं कि स्ट्रिंग – shoosh
जैसे पहले दो अक्षर प्राप्त करें: प्रारंभ करें() + pos – fchen