На мапи Ц++

Na Mapi C



Ц++ СТЛ библиотека нам пружа класу мапе. Мапе се сматрају асоцијативним контејнерима који задржавају објекте у пару наређених вредности кључа и мапираних вредности. Никада не могу постојати две мапиране вредности са истом вредношћу кључа. Класа мапа пружа многе функције, али овде ћемо разговарати о томе мап.ат() функција. Пресликани елемент у вредност кључа се прослеђује као параметар функције на који се упућује помоћу мап.ат() функција. Када покушамо да дођемо до елемента који није унутар опсега контејнера, мап.ат() функција процењује опсег контејнера и избацује изузетак.

Синтакса функције мап.ат().

Морамо да пратимо синтаксу испод да бисмо имплементирали функцију мап.ат() у Ц++.







Мап_вариабле.ат ( кључ / вредносни пар )



Користили смо објекат мапе који се зове „Мап_вариабле“ са ат() функција. Враћа елемент који је директно референциран и указује на наведену вредност кључа. Мапа кључева података углавном зависи од домета карте. Ако није, постоји могућност да ће се изузетак или грешка вратити у време извршења што значи да је вредност изван дефинисаног опсега. Сада ћемо користити ову синтаксу у Ц++ кодовима да покажемо да функционише.



Пример 1: Коришћење функције мап.ат().

Програм је имплементиран да демонстрира функцију мап.ат. Повезали смо ат() функција са Мапа() функција која узима неке улазне вредности и показује своју функционалност. За ово смо попунили одељак заглавља програма тако што смо увезли модул мапе са другим потребним модулом за Ц++. Затим смо позвали главни() функција за декларацију мапе из класе мапе. Објекат мапе је означен као „МиМап“. Ми креирамо листу мапа дајући кључ и вредност карте.





Након овога, позвали смо се на мап.ат() функција која пресликава наведени стринг у цео број. Затим смо одштампали резултате из мап.ат() функција из фор петље. Петља фор користи референцу на кључну реч „ауто”. Кључна реч ауто означава да ће иницијализатор аутоматски уклонити тип променљиве из оне која је декларисана. Наредба цоут ће одштампати парове по редоследу који се враћа из мап.ат() функција.

#инцлуде <иостреам>

#инцлуде <стринг>

#инцлуде <мап>


инт маин ( )

стд: :мап < стд::стринг,инт > МиМап = {

{ 'јабука', 0 } ,

{ 'грожђе' , 0 } ,

{ 'манго' , 0 } }

МиМап.ат ( 'јабука' ) = 5 ;

МиМап.ат ( 'грожђе' ) = 10 ;

МиМап.ат ( 'манго' ) = 6 ;

за ( ауто & м: МиМап ) {

стд::цоут << м.први << ': ' << м.други << '\н' ; }

< јака > повратак 0 ;

}



Сада имамо резултате из горе наведеног програма који имплементира мап.ат() функција. Сви наведени цели бројеви који су у опсегу се приказују уз сваки низ.

Пример 2: Коришћење функције мап.ат() за изузетак оут_оф_ранге

Кроз пример програма смо разговарали о употреби мап.ат функција у Ц++. Сада смо имплементирали још један мап.ат у програму. Али овај пут ће вратити вредност која је представљена унутар мапе, као и изузетак ван_опсега када кључ није наведен. Како морамо да искористимо мап.ат функцију, па смо додали модул мапе у заглавље. Затим смо дефинисали главну функцију где се „воид“ преноси као параметар.

Унутар главне функције, иницијализовали смо конструктор листе креирањем објекта мапе као „м1“. Листа мапа има различите низове кључева и целобројне вредности према њима. Затим смо одштампали кључ „и“ провлачећи га кроз мап.ат функција. Користили смо блок три-цатцх. У блоку три, представили смо кључ непостојања у мап.ат функција. Пошто је кључ ван домета, блок три ће избацити грешку.

#инцлуде <иостреам>

#инцлуде <мап>

користећи простор имена стд;

инт маин ( празнина ) {


Мапа < цхар, инт > м1 = {

{ 'л' , 1 } ,

{ 'ја' , два } ,

{ 'н' , 3 } ,

{ 'у' , 4 } ,

{ 'Икс' , 5 } ,

} ;



цоут << 'вредност кључа мапе м1['и'] = ' << м1.ат ( 'ја' ) << ендл;



покушати {

м1.ат ( 'И' ) ;

} улов ( цонст ван_домета & и ) {

церр << „Грешка у „ << е.шта ( ) << ендл;

}



повратак 0 ;

}

Из излазног снимка екрана можемо да замислимо да је мап.ат() функција враћа само кључеве присутне на мапи. Тастери ван домета доводе до грешке јер се грешка приказује када проследимо кључ „и“ у мап.ат функција.

Пример 3: Коришћење функције мап.ат() за приступ елементима

Елементу се може приступити коришћењем наведеног елемента цифара из функције мап.ат. Хајде да применимо овај програм да бисмо постигли горњу изјаву. Прво смо дефинисали модул мапе у одељку заглавља јер је потребан за приступ мап.ат функција. Затим имамо главну функцију где је класа мапа иницијализовала објекат мапе као „Мапа“. Са овим објектом „Мапа“ генерисали смо кључеве низова и доделили им вредност цифре. Након тога смо позвали мап.ат функцију са наредбом цоут и проследио кључ „Пример“ као улаз.

#инцлуде <иостреам>

#инцлуде <мап>

#инцлуде <стринг>

користећи простор имена стд;

инт маин ( )

{

Мапа < стринг, инт > Мапа;

Мапа [ 'мој' ] = 1 ;

Мапа [ 'ц++' ] = два ;

Мапа [ 'Мапа' ] = 3 ;

Мапа [ 'пример' ] = 4 ;

цоут << Мапа.ат ( 'пример' ) ;

повратак 0 ;

}

Елемент цифре се враћа према наведеном кључу у мап.ат функција. Резултат даје вредност „4“ пошто је ова цифра додељена кључном елементу „Пример“ мапе.

Пример 4: Коришћење функције мап.ат() за модификовање елемената

Хајде да размотримо једноставан пример измене вредности повезане са кључном вредношћу. Направили смо листу мапе тако што смо позвали класу мапе и креирали објекат “М1”. Доделили смо вредност стринга сваком кључу мапе. Затим, морамо да искористимо мап.ат функција. У мап.ат функцију, користили смо наведене кључеве и тим кључевима доделили нове вредности низа. Сада ће ове вредности бити модификоване са претходном. Уз помоћ фор петље, поновили смо сваки елемент са мапе и приказали га као излаз.

#инцлуде <иостреам>

#инцлуде <стринг>

#инцлуде <мап>


користећи простор имена стд;


инт маин ( )

{

Мапа < инт,стринг > М1 = {

{ 10 , 'ц++' } ,

{ двадесет , 'јава' } ,

{ 30 , 'питхон' } ,

{ 40 , 'цсхарп' } ,

{ педесет , 'ОТВОРЕН' } } ;




М1.ат ( двадесет ) = 'Тензорфлов' ;

М1.ат ( 30 ) = 'Линукс' ;

М1.ат ( педесет ) = 'Сцала' ;

цоут << ' Елементи:' << ендл;

за ( ауто & к: М1 ) {

цоут << к.прво << ': ' << к.сецонд << '\н' ;

}


повратак 0 ;

}

Приметите да су вредности добијене као излаз измениле ново додељене вредности стрингова у мап.ат функција. Ажуриране вредности су приказане на снимку испод.

Закључак

Чланак је о функцији мап.ат. Обезбедили смо функционалност функције мап.ат() кроз њену синтаксу и пример је имплементиран са Ц++ компајлером. Функција мап.ат() је веома корисна јер омогућава приступачност елемента и враћа јасан изузетак или грешку која описује ситуацију која је настала када се метода позива. Штавише, можемо доделити нове вредности кључу постојања преко функције мап.ат.