வரைபடத்தில் C++

Varaipatattil C



C++ STL நூலகம் எங்களுக்கு வரைபட வகுப்பை வழங்குகிறது. வரைபடங்கள் ஒரு ஜோடி வரிசைப்படுத்தப்பட்ட முக்கிய மதிப்புகள் மற்றும் மேப் செய்யப்பட்ட மதிப்புகளில் பொருட்களைத் தக்கவைக்கும் துணைக் கொள்கலன்களாகக் கருதப்படுகின்றன. ஒரே முக்கிய மதிப்புடன் இரண்டு வரைபட மதிப்புகள் இருக்க முடியாது. வரைபட வகுப்பு பல செயல்பாடுகளை வழங்குகிறது ஆனால் இங்கே நாம் விவாதிப்போம் map.at() செயல்பாடு. முக்கிய மதிப்புக்கு மேப் செய்யப்பட்ட உறுப்பு செயல்பாட்டின் அளவுருவாக அனுப்பப்படுகிறது, இது ஐப் பயன்படுத்தி குறிப்பிடப்படுகிறது map.at() செயல்பாடு. கொள்கலனின் வரம்பிற்குள் இல்லாத ஒரு உறுப்பைப் பெற முயற்சிக்கும்போது, ​​தி map.at() செயல்பாடு கொள்கலனின் வரம்பை மதிப்பிடுகிறது மற்றும் விதிவிலக்கு அளிக்கிறது.

map.at() செயல்பாட்டின் தொடரியல்

C++ இல் map.at() செயல்பாட்டை செயல்படுத்த கீழே உள்ள தொடரியல் பின்பற்ற வேண்டும்.







Map_variable.at ( முக்கிய / மதிப்பு ஜோடி )



'Map_variable' என்று பெயரிடப்பட்ட வரைபடப் பொருளைப் பயன்படுத்தியுள்ளோம் at() செயல்பாடு. இது நேரடியாகக் குறிப்பிடப்பட்ட உறுப்பைத் திருப்பி, குறிப்பிட்ட முக்கிய மதிப்பை சுட்டிக்காட்டுகிறது. தரவு விசை வரைபடம் பெரும்பாலும் வரைபடத்தின் வரம்பைப் பொறுத்தது. அது இல்லையெனில், செயல்பாட்டின் போது ஒரு விதிவிலக்கு அல்லது பிழை திரும்பப் பெறப்படும், இது மதிப்பு வரையறுக்கப்பட்ட வரம்பிற்கு அப்பாற்பட்டது என்பதைக் குறிக்கிறது. இப்போது, ​​இந்த தொடரியல் செயல்படுவதைக் காட்ட C++ குறியீடுகளில் பயன்படுத்துவோம்.



எடுத்துக்காட்டு 1: map.at() செயல்பாட்டைப் பயன்படுத்துதல்

வரைபடம்.at செயல்பாட்டை நிரூபிக்க நிரல் செயல்படுத்தப்படுகிறது. நாங்கள் இணைத்துள்ளோம் at() உடன் செயல்பாடு வரைபடம்() செயல்பாடு சில உள்ளீட்டு மதிப்புகளை எடுத்து அதன் செயல்பாட்டைக் காட்டுகிறது. இதற்காக, சி++க்கு தேவையான மற்றொரு தொகுதியுடன் வரைபடத் தொகுதியை இறக்குமதி செய்வதன் மூலம் நிரலின் தலைப்புப் பகுதியை நிரப்பியுள்ளோம். பின்னர், நாங்கள் அழைத்தோம் முக்கிய() வரைபட வகுப்பிலிருந்து வரைபட அறிவிப்புக்கான செயல்பாடு. வரைபடத்தின் பொருள் 'MyMap' என பெயரிடப்பட்டுள்ளது. வரைபட விசை மற்றும் மதிப்பைக் கொடுத்து வரைபடங்களின் பட்டியலை உருவாக்குகிறோம்.





இதற்குப் பிறகு, நாங்கள் அழைத்தோம் map.at() குறிப்பிட்ட சரத்தை ஒரு முழு எண்ணாக வரைபடமாக்கும் செயல்பாடு. பின்னர், நாங்கள் முடிவுகளை அச்சிட்டோம் map.at() ஃபார் லூப்பில் இருந்து செயல்பாடு. ஃபார் லூப் 'ஆட்டோ' முக்கிய குறிப்பைப் பயன்படுத்துகிறது. தானியங்கு திறவுச்சொல், துவக்கி தானாகவே அறிவிக்கப்படும் வகையிலிருந்து மாறியின் வகையை அகற்றும் என்பதைக் குறிக்கிறது. கவுட் ஸ்டேட்மென்ட், வரிசையிலிருந்து வரும் வரிசையில் ஜோடிகளை அச்சிடும் map.at() செயல்பாடு.

# அடங்கும்

# அடங்கும்

# அடங்கும்


முழு எண்ணாக ( )

வகுப்பு: வரைபடம் < std::string,int > MyMap = {

{ 'ஆப்பிள்', 0 } ,

{ 'திராட்சை' , 0 } ,

{ 'மாங்காய்' , 0 } }

MyMap.at ( 'ஆப்பிள்' ) = 5 ;

MyMap.at ( 'திராட்சை' ) = 10 ;

MyMap.at ( 'மாங்காய்' ) = 6 ;

க்கான ( ஆட்டோ & மீ: MyMap ) {

std::cout << மீ.முதலில் << ':' << மீ.செகண்ட் << '\n' ; }

< வலுவான > திரும்ப 0 ;

}



இப்போது, ​​செயல்படுத்தும் மேலே உள்ள திட்டத்தின் முடிவுகள் எங்களிடம் உள்ளன map.at() செயல்பாடு. வரம்பில் உள்ள அனைத்து குறிப்பிடப்பட்ட முழு எண்களும் ஒவ்வொரு சரத்திற்கும் எதிராக காட்டப்படும்.

எடுத்துக்காட்டு 2: out_of_range Exceptionக்கான map.at() செயல்பாட்டைப் பயன்படுத்துதல்

இன் பயன்பாட்டை ஒரு எடுத்துக்காட்டு நிரல் மூலம் விவாதித்தோம் map.at C++ இல் செயல்பாடு. இப்போது, ​​இன்னொன்றை நடைமுறைப்படுத்தியுள்ளோம் map.at திட்டத்தில். ஆனால் இந்த முறை அது வரைபடத்தின் உள்ளே வழங்கப்பட்ட மதிப்பையும், விசை குறிப்பிடப்படாத போது out_of_range விதிவிலக்கையும் வழங்கும். நாம் பயன்படுத்த வேண்டும் என map.at செயல்பாடு, எனவே வரைபட தொகுதியை தலைப்பில் சேர்த்துள்ளோம். பின்னர், 'வெற்றிடம்' ஒரு அளவுருவாக அனுப்பப்படும் முக்கிய செயல்பாட்டை நாங்கள் வரையறுத்துள்ளோம்.

பிரதான செயல்பாட்டின் உள்ளே, வரைபடப் பொருளை “m1” ஆக உருவாக்குவதன் மூலம் பட்டியல் கட்டமைப்பாளரைத் துவக்கியுள்ளோம். வரைபடப் பட்டியலில் வெவ்வேறு விசைகள் மற்றும் அவற்றுக்கு எதிரான முழு எண் மதிப்புகள் உள்ளன. பின்னர், 'i' விசையை அதன் வழியாகக் கடந்து அச்சிட்டோம் map.at செயல்பாடு. ட்ரை-கேட்ச் பிளாக்கைப் பயன்படுத்தியுள்ளோம். முயற்சித் தொகுதியில், இல் இல்லாத விசையை வழங்கியுள்ளோம் map.at செயல்பாடு. விசை வரம்பிற்கு வெளியே இருப்பதால், முயற்சி தடுப்பு பிழையை எறியும்.

# அடங்கும்

# அடங்கும்

பெயர்வெளி std ஐப் பயன்படுத்துதல்;

முழு எண்ணாக ( வெற்றிடமானது ) {


வரைபடம் < char, int > மீ1 = {

{ 'எல்' , 1 } ,

{ 'நான்' , இரண்டு } ,

{ 'என்' , 3 } ,

{ 'உள்ளே' , 4 } ,

{ 'எக்ஸ்' , 5 } ,

} ;



கூட் << 'வரைபட விசை மதிப்பு m1['i'] = ' << m1.at ( 'நான்' ) << endl;



முயற்சி {

m1.at ( 'ஒய்' ) ;

} பிடி ( வரம்பிற்கு வெளியே & மற்றும் ) {

செர்ர் << 'இதில் பிழை' << இ.என்ன ( ) << endl;

}



திரும்ப 0 ;

}

என்பதை அவுட்புட் ஸ்கிரீன்ஷாட்டில் இருந்து நாம் பார்க்கலாம் map.at() செயல்பாடு வரைபடத்தில் உள்ள விசைகளை மட்டுமே வழங்குகிறது. வரம்பிற்கு அப்பாற்பட்ட விசைகள், 'y' விசையை நாம் கடக்கும்போது, ​​​​பிழை காட்டப்படுவதால், பிழையை வீசுகிறது map.at செயல்பாடு.

எடுத்துக்காட்டு 3: உறுப்புகளை அணுகுவதற்கான map.at() செயல்பாட்டைப் பயன்படுத்துதல்

map.at செயல்பாட்டிலிருந்து இலக்கங்களின் குறிப்பிட்ட உறுப்பைப் பயன்படுத்தி ஒரு உறுப்பை அணுகலாம். மேற்கண்ட கூற்றை நிறைவேற்ற இந்த திட்டத்தை செயல்படுத்துவோம். வரைபடத் தொகுதியை முதலில் தலைப்புப் பிரிவில் வரையறுத்துள்ளோம், ஏனெனில் அதை அணுக வேண்டும் map.at செயல்பாடு. பின்னர், வரைபட வகுப்பானது வரைபடப் பொருளை 'வரைபடம்' என துவக்கிய முக்கிய செயல்பாடு எங்களிடம் உள்ளது. இந்த 'வரைபடம்' பொருளின் மூலம், சரங்களின் விசைகளை உருவாக்கி, அவற்றிற்கு இலக்கத்தின் மதிப்பை ஒதுக்கியுள்ளோம். அதன் பிறகு, நாங்கள் அழைத்தோம் map.at கவுட் அறிக்கையுடன் ஒரு செயல்பாடு மற்றும் 'எடுத்துக்காட்டு' விசையை உள்ளீடாக அனுப்பியது.

# அடங்கும்

# அடங்கும்

# அடங்கும்

பெயர்வெளி std ஐப் பயன்படுத்துதல்;

முழு எண்ணாக ( )

{

வரைபடம் < சரம், முழு எண்ணாக > வரைபடம்;

வரைபடம் [ 'என்' ] = 1 ;

வரைபடம் [ 'c++' ] = இரண்டு ;

வரைபடம் [ 'வரைபடம்' ] = 3 ;

வரைபடம் [ 'உதாரணமாக' ] = 4 ;

கூட் << Map.at ( 'உதாரணமாக' ) ;

திரும்ப 0 ;

}

இல் குறிப்பிட்ட விசைக்கு எதிராக இலக்க உறுப்பு திரும்பும் map.at செயல்பாடு. இந்த இலக்கமானது வரைபடத்தின் முக்கிய உறுப்பு 'எடுத்துக்காட்டுக்கு' ஒதுக்கப்பட்டுள்ளதால், முடிவு '4' மதிப்பைக் கொடுக்கிறது.

எடுத்துக்காட்டு 4: உறுப்புகளை மாற்றுவதற்கான map.at() செயல்பாட்டைப் பயன்படுத்துதல்

முக்கிய மதிப்புடன் தொடர்புடைய மதிப்பை மாற்றியமைப்பதற்கான எளிய உதாரணத்தைக் கருத்தில் கொள்வோம். வரைபட வகுப்பை அழைத்து 'M1' என்ற பொருளை உருவாக்குவதன் மூலம் வரைபடத்தின் பட்டியலை உருவாக்கியுள்ளோம். வரைபடத்தின் ஒவ்வொரு விசைக்கும் எதிராக சர மதிப்பை நாங்கள் ஒதுக்கியுள்ளோம். பின்னர், நாம் பயன்படுத்த வேண்டும் map.at செயல்பாடு. இல் map.at செயல்பாடு, குறிப்பிட்ட விசைகளைப் பயன்படுத்தி, அந்த விசைகளுக்கு எதிராக புதிய சரம் மதிப்புகளை ஒதுக்கியுள்ளோம். இப்போது, ​​இந்த மதிப்புகள் முந்தைய மதிப்புடன் மாற்றியமைக்கப்படும். for loop இன் உதவியுடன், வரைபடத்தில் இருந்து ஒவ்வொரு உறுப்புகளையும் மீண்டும் செய்து, அதை ஒரு வெளியீட்டாகக் காட்டுகிறோம்.

# அடங்கும்

# அடங்கும்

# அடங்கும்


பெயர்வெளி std ஐப் பயன்படுத்துதல்;


முழு எண்ணாக ( )

{

வரைபடம் < முழு எண்ணாக, சரம் > M1 = {

{ 10 , 'c++' } ,

{ இருபது , 'ஜாவா' } ,

{ 30 , 'மலைப்பாம்பு' } ,

{ 40 , 'csharp' } ,

{ ஐம்பது , 'திற' } } ;




M1.at ( இருபது ) = 'டென்சர்ஃப்ளோ' ;

M1.at ( 30 ) = 'லினக்ஸ்' ;

M1.at ( ஐம்பது ) = 'ஸ்கலா' ;

கூட் << ' \n கூறுகள்:' << endl;

க்கான ( ஆட்டோ & x: M1 ) {

கூட் << x.முதல் << ':' << x.செகண்ட் << '\n' ;

}


திரும்ப 0 ;

}

வெளியீட்டாகப் பெறப்பட்ட மதிப்புகள், இல் புதிதாக ஒதுக்கப்பட்ட சர மதிப்புகளை மாற்றியமைத்துள்ளன என்பதைக் கவனியுங்கள் map.at செயல்பாடு. புதுப்பிக்கப்பட்ட மதிப்புகள் கீழே உள்ள ஸ்னாப்ஷாட்டில் காட்டப்பட்டுள்ளன.

முடிவுரை

கட்டுரை map.at செயல்பாட்டைப் பற்றியது. map.at() செயல்பாட்டின் செயல்பாட்டை அதன் தொடரியல் மூலம் வழங்கியுள்ளோம், உதாரணம் C++ கம்பைலர் மூலம் செயல்படுத்தப்படுகிறது. map.at() செயல்பாடு மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் இது உறுப்பு அணுகலை அனுமதிக்கிறது மற்றும் முறை அழைக்கப்படும் போது ஏற்பட்ட சூழ்நிலையை விவரிக்கும் தெளிவான விதிவிலக்கு அல்லது பிழையை வழங்குகிறது. மேலும், map.at செயல்பாட்டின் மூலம் இருப்பு விசைக்கு எதிராக புதிய மதிப்புகளை நாம் ஒதுக்கலாம்.