Шта је стд::арраи у Ц++?

Sta Je Std Arrai U C



Ц++ обезбеђује различите структуре података за складиштење и манипулацију колекцијама елемената. Једна таква структура података је стд::арраи , који је уведен у стандардну библиотеку Ц++11. Кроз овај чланак ћете научити о стд::арраи-у, његовој синтакси, примеру и предностима у Ц++.

Шта је стд::арраи у Ц++

У Ц++, контејнер познат као стд::арраи користи се за држање фиксног броја ставки истог типа података. Тхе стд::арраи контејнер пружа алтернативу низовима у Ц стилу јер је сигурнији, лакши за употребу и има боље перформансе.

Класа, која је компонента стандардне библиотеке Ц++-а, нуди практичан и ефикасан приступ за складиштење и приступ елементима са истим типом података. Због величине стд::арраи је познато у време компајлирања, смањени су трошкови извођења динамичког скалирања. Величина низа је постављена параметром шаблона и ставкама стд::арраи чувају се у непрекидној меморији.







Објавите стд::арраи у Ц++

Можете се изјаснити стд::арраи као:



стд :: низ < инт , 4 > арр ;

Горња синтакса декларише низ са именом арр са фиксном величином од 4 елемента, где је сваки елемент типа инт.



Пример стд::арраи

Пример 1: Следи једноставан пример иницијала а стд::арраи у Ц++:





#инцлуде <низ>

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

инт главни ( ) {

стд :: низ < инт , 4 > арр = { 4 , 6 , 2 , 1 } ;

за ( инт и = 0 ; и < арр. величина ( ) ; и ++ ) {

стд :: цоут << арр [ и ] << ' ' ;

}

стд :: цоут << стд :: ендл ;

повратак 0 ;

}

Излаз



Пример 2: Такође можете користити стд::арраи за приступ елементима у низу. Код је дат у наставку:

#инцлуде <низ>

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

инт главни ( ) {

стд :: низ < инт , 3 > арр = { 1 , 2 , 3 } ;

стд :: цоут << 'Први елемент је' << арр [ 0 ] << стд :: ендл ;

стд :: цоут << 'Други елемент је' << арр. ат ( 1 ) << стд :: ендл ;

стд :: цоут << 'Трећи елемент је' << арр. назад ( ) << стд :: ендл ;

повратак 0 ;

}

Излаз

Пример 3: Следећи пример приказује штампање елемента из низа на одређеној позицији помоћу стд::арраи у Ц++.

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

#инцлуде <низ>

инт главни ( )

{

стд :: низ < инт , 4 > арр = { 4 , 6 , 2 , 1 } ;

стд :: цоут << арр [ 3 ] << стд :: ендл ;

повратак 0 ;

}

Излаз

Предности стд::арраи у Ц++

За разлику од традиционалних низова у Ц++, стд::арраи нуди низ функција.

1: Интуитивна синтакса

стд::арраи има интуитивнију синтаксу за иницијализацију и може се иницијализовати помоћу листе иницијализатора. Ово обезбеђује сажетији и читљивији начин иницијализације низа.

2: Прошло као аргументи

стд::арраи могу се прослеђивати као аргументи функцијама, а могуће их је и вратити из функција.

3: Управљање меморијом

Једна од кључних предности коришћења стд::арраи је да обезбеђује лако и ефикасно управљање меморијом. То значи да нема потребе за ручном додељивањем или делокацијом меморије.

4: Аутоматска провера везе

Чињеница да стд::арраи нуди аутоматизовану проверу граница преко низова у Ц стилу је једна од његових кључних предности. То значи да ако програм покуша да приступи елементу изван дефинисаног опсега низа, компајлер ће произвести грешку. Преливање бафера, грешке сегментације и цурење меморије су само неки од честих проблема у програмирању које вам провера веза може помоћи да избегнете.

5: Пружа корисне функције

стд::арраи нуди неколико практичних функција, као што су итератори, сизе(), фронт(), бацк(), филл() и ат(), што је још једна предност. Ове функције олакшавају манипулацију елементима низа без потребе за сложеним кодом који је подложан грешкама. Итератори, на пример, олакшавају навигацију између елемената низа, а метода филл() вам омогућава да дате једну вредност целом скупу елемената низа.

Закључак

У Ц++, стд::арраи цласс нуди практичан начин рада са низовима фиксне величине, заједно са неким корисним функцијама и предностима сигурности типа и опсега. За иницијализацију и проверу граница, пружа јаснију, разумљивију синтаксу, која може помоћи да се избегну многе типичне програмске грешке. За већину ситуација када се морају користити низови фиксне величине, саветује се употреба стд::арраи пошто он пружа ажурнији и сигурнији метод манипулације њима.