मानचित्र C++ . पर

Manacitra C Para



C++ STL लाइब्रेरी हमें एक मैप क्लास प्रदान करती है। मानचित्र को सहयोगी कंटेनर माना जाता है जो वस्तुओं को क्रमबद्ध कुंजी मानों और मैप किए गए मानों की एक जोड़ी में रखता है। समान कुंजी मान वाले दो मैप किए गए मान कभी नहीं हो सकते हैं। नक्शा वर्ग कई कार्य प्रदान करता है लेकिन यहां हम चर्चा करेंगे: map.at () समारोह। मुख्य मान के लिए मैप किए गए तत्व को फ़ंक्शन के पैरामीटर के रूप में पास किया जाता है जिसे का उपयोग करके संदर्भित किया जाता है map.at () समारोह। जब हम किसी ऐसे तत्व तक पहुंचने का प्रयास करते हैं जो कंटेनर की सीमा के अंदर नहीं है, तो map.at () फ़ंक्शन कंटेनर की सीमा का मूल्यांकन करता है और एक अपवाद फेंकता है।

Map.at () फ़ंक्शन का सिंटैक्स

C++ में map.at() फ़ंक्शन को लागू करने के लिए हमें नीचे दिए गए सिंटैक्स का पालन करने की आवश्यकता है।







Map_variable.at ( चाभी / मूल्य जोड़ी )



हमने मैप ऑब्जेक्ट का उपयोग किया है जिसे 'Map_variable' नाम दिया गया है पर() समारोह। यह उस तत्व को लौटाता है जिसे सीधे संदर्भित किया जाता है और निर्दिष्ट कुंजी मान को इंगित करता है। डेटा कुंजी मानचित्र अधिकतर मानचित्र की सीमा पर निर्भर करता है। यदि ऐसा नहीं है, तो संभावना है कि निष्पादन के समय एक अपवाद या त्रुटि वापस आ जाएगी जो यह दर्शाता है कि मान परिभाषित सीमा से परे है। अब, हम इस सिंटैक्स का उपयोग C++ कोड में यह दिखाने के लिए करेंगे कि यह काम कर रहा है।



उदाहरण 1: map.at() फ़ंक्शन का उपयोग करना

map.at समारोह को प्रदर्शित करने के लिए कार्यक्रम लागू किया गया है। हमने लिंक किया है पर() के साथ समारोह नक्शा() फ़ंक्शन जो कुछ इनपुट मान लेता है और इसकी कार्यक्षमता दिखाता है। इसके लिए, हमने सी ++ के लिए एक अन्य आवश्यक मॉड्यूल के साथ नक्शा मॉड्यूल आयात करके प्रोग्राम के हेडर सेक्शन को भर दिया है। फिर, हमने को बुलाया है मुख्य() नक्शा वर्ग से नक्शा घोषणा के लिए कार्य। मानचित्र की वस्तु को 'MyMap' के रूप में लेबल किया गया है। हम मानचित्र कुंजी और मान देकर मानचित्रों की सूची बनाते हैं।





इसके बाद, हमने का आह्वान किया map.at () फ़ंक्शन जो निर्दिष्ट स्ट्रिंग को एक पूर्णांक में मैप करता है। फिर, हमने परिणामों को से प्रिंट किया map.at () लूप के लिए फ़ंक्शन। लूप के लिए 'ऑटो' कीवर्ड संदर्भ का उपयोग करता है। ऑटो कीवर्ड इंगित करता है कि प्रारंभकर्ता स्वचालित रूप से घोषित किए जाने वाले चर के प्रकार को हटा देगा। cout स्टेटमेंट जोड़े को उस क्रम में प्रिंट करेगा जो से लौटाया गया है map.at () समारोह।

#शामिल करें

#शामिल करें <स्ट्रिंग>

#शामिल <मानचित्र>


मुख्य प्रवेश बिंदु ( )

एसटीडी: :मानचित्र < एसटीडी :: स्ट्रिंग, int > माईमैप = {

{ 'सेब', 0 } ,

{ 'अंगूर' , 0 } ,

{ 'आम' , 0 } }

MyMap.at ( 'सेब' ) = 5 ;

MyMap.at ( 'अंगूर' ) = 10 ;

MyMap.at ( 'आम' ) = 6 ;

के लिये ( ऑटो और एम: माईमैप ) {

एसटीडी::कोउट << एम.प्रथम << ':' << एम.सेकंड << '\एन' ; }

< बलवान > वापसी 0 ;

}



अब, हमारे पास उपरोक्त कार्यक्रम के परिणाम हैं जो लागू करते हैं map.at () समारोह। सभी निर्दिष्ट पूर्णांक जो सीमा में हैं, प्रत्येक स्ट्रिंग के विरुद्ध प्रदर्शित होते हैं।

उदाहरण 2: map.at() फ़ंक्शन का उपयोग out_of_range अपवाद के लिए करना

हमने एक उदाहरण कार्यक्रम के माध्यम से के उपयोग पर चर्चा की है map.at सी ++ में फ़ंक्शन। अब, हमने एक और लागू किया है map.at कार्यक्रम में। लेकिन इस बार यह वह मान लौटाएगा जो मानचित्र के अंदर प्रस्तुत किया गया है और जब कुंजी निर्दिष्ट नहीं है तो out_of_range अपवाद भी। जैसा कि हमें का उपयोग करना है map.at फ़ंक्शन, इसलिए हमने हेडर में मैप मॉड्यूल जोड़ा है। फिर, हमने मुख्य फ़ंक्शन को परिभाषित किया है जहां 'शून्य' को पैरामीटर के रूप में पारित किया जाता है।

मुख्य फ़ंक्शन के अंदर, हमने मैप ऑब्जेक्ट को 'm1' के रूप में बनाकर लिस्ट कंस्ट्रक्टर को इनिशियलाइज़ किया है। मानचित्र सूची में कुंजियों के विभिन्न तार और उनके विरुद्ध पूर्णांक मान होते हैं। फिर, हमने कुंजी 'i' को के माध्यम से पास करके मुद्रित किया map.at समारोह। हमने ट्राइ-कैच ब्लॉक को नियोजित किया है। कोशिश ब्लॉक में, हमने गैर-अस्तित्व कुंजी को प्रस्तुत किया है map.at समारोह। चूंकि कुंजी सीमा से बाहर है, इसलिए कोशिश ब्लॉक त्रुटि को फेंक देगा।

#शामिल करें

#शामिल <मानचित्र>

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु ( शून्य ) {


नक्शा < चार, int > एम1 = {

{ 'एल' , 1 } ,

{ 'मैं' , दो } ,

{ 'एन' , 3 } ,

{ 'में' , 4 } ,

{ 'एक्स' , 5 } ,

} ;



अदालत << 'मानचित्र कुंजी मान m1['i'] =' << m1.at ( 'मैं' ) << एंडल;



प्रयत्न {

m1.at ( 'वाई' ) ;

} पकड़ ( कास्ट आउट_ऑफ_रेंज और तथा ) {

सेरा << 'त्रुटि' << ई.क्या ( ) << एंडल;

}



वापसी 0 ;

}

हम आउटपुट स्क्रीनशॉट से कल्पना कर सकते हैं कि map.at () फ़ंक्शन केवल मानचित्र में मौजूद कुंजियाँ लौटाता है। जब हम कुंजी 'y' को पास करते हैं तो त्रुटि प्रदर्शित होने पर आउट-ऑफ-रेंज कुंजियाँ त्रुटि को फेंक देती हैं map.at समारोह।

उदाहरण 3: तत्वों तक पहुँचने के लिए map.at() फ़ंक्शन का उपयोग करना

map.at फ़ंक्शन से अंकों के निर्दिष्ट तत्व का उपयोग करके एक तत्व तक पहुँचा जा सकता है। आइए उपरोक्त कथन को पूरा करने के लिए इस कार्यक्रम को लागू करें। हमने पहले हेडर सेक्शन में मैप मॉड्यूल को परिभाषित किया है क्योंकि इसे एक्सेस करने की आवश्यकता है map.at समारोह। फिर, हमारे पास मुख्य कार्य है जहां मानचित्र वर्ग ने मानचित्र ऑब्जेक्ट को 'मानचित्र' के रूप में प्रारंभ किया है। इस 'मैप' ऑब्जेक्ट के साथ, हमने स्ट्रिंग्स की कुंजियाँ तैयार की हैं और उन्हें अंकों का मान दिया है। उसके बाद, हमने को बुलाया map.at cout स्टेटमेंट के साथ एक फ़ंक्शन और इनपुट के रूप में 'उदाहरण' कुंजी पास की।

#शामिल करें

#शामिल <मानचित्र>

#शामिल करें <स्ट्रिंग>

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु ( )

{

नक्शा < स्ट्रिंग, int > नक्शा;

नक्शा [ 'मेरे' ] = 1 ;

नक्शा [ 'सी++' ] = दो ;

नक्शा [ 'नक्शा' ] = 3 ;

नक्शा [ 'उदाहरण' ] = 4 ;

अदालत << Map.at ( 'उदाहरण' ) ;

वापसी 0 ;

}

अंक तत्व को निर्दिष्ट कुंजी के सामने वापस कर दिया जाता है map.at समारोह। परिणाम '4' मान देता है क्योंकि यह अंक मानचित्र के प्रमुख तत्व 'उदाहरण' को सौंपा गया है।

उदाहरण 4: तत्वों को संशोधित करने के लिए map.at() फ़ंक्शन का उपयोग करना

आइए कुंजी मान से जुड़े मान को संशोधित करने के एक सरल उदाहरण पर विचार करें। हमने मैप क्लास को कॉल करके और ऑब्जेक्ट 'M1' बनाकर मैप की लिस्ट बनाई है। हमने मानचित्र की प्रत्येक कुंजी के लिए स्ट्रिंग मान निर्दिष्ट किया है। फिर, हमें का उपयोग करना होगा map.at समारोह। में map.at फ़ंक्शन, हमने निर्दिष्ट कुंजियों का उपयोग किया है और उन कुंजियों के विरुद्ध नए स्ट्रिंग मान असाइन किए हैं। अब, इन मानों को पिछले वाले के साथ संशोधित किया जाएगा। लूप के लिए, हमने मानचित्र से प्रत्येक तत्व को पुनरावृत्त किया है और इसे आउटपुट के रूप में प्रदर्शित किया है।

#शामिल करें

#शामिल करें <स्ट्रिंग>

#शामिल <मानचित्र>


नेमस्पेस एसटीडी का उपयोग करना;


मुख्य प्रवेश बिंदु ( )

{

नक्शा < इंट, स्ट्रिंग > एम1 = {

{ 10 , 'सी++' } ,

{ बीस , 'जावा' } ,

{ 30 , 'अजगर' } ,

{ 40 , 'सी तेज' } ,

{ पचास , 'खोलना' } } ;




M1.at ( बीस ) = 'टेंसरफ़्लो' ;

M1.at ( 30 ) = 'लिनक्स' ;

M1.at ( पचास ) = 'स्कैला' ;

अदालत << ' \एन तत्व:' << एंडल;

के लिये ( ऑटो और एक्स: एम1 ) {

अदालत << x.प्रथम << ':' << x.सेकंड << '\एन' ;

}


वापसी 0 ;

}

ध्यान दें कि आउटपुट के रूप में प्राप्त मानों ने नए असाइन किए गए स्ट्रिंग मानों को संशोधित किया है map.at समारोह। अद्यतन किए गए मान नीचे स्नैपशॉट में दिखाए गए हैं।

निष्कर्ष

यह लेख map.at फ़ंक्शन के बारे में है। हमने इसके सिंटैक्स के माध्यम से map.at() फ़ंक्शन की कार्यक्षमता प्रदान की है और उदाहरण C++ कंपाइलर के साथ लागू किया गया है। map.at() फ़ंक्शन अत्यधिक उपयोगी है क्योंकि यह तत्व पहुंच की अनुमति देता है और एक स्पष्ट अपवाद या त्रुटि देता है जो उस स्थिति का वर्णन करता है जो विधि को कॉल करते समय उत्पन्न हुई थी। इसके अलावा, हम map.at फ़ंक्शन के माध्यम से अस्तित्व कुंजी के विरुद्ध नए मान निर्दिष्ट कर सकते हैं।