Шта је стд::арраи у Ц++
У Ц++, контејнер познат као стд::арраи користи се за држање фиксног броја ставки истог типа података. Тхе стд::арраи контејнер пружа алтернативу низовима у Ц стилу јер је сигурнији, лакши за употребу и има боље перформансе.
Класа, која је компонента стандардне библиотеке Ц++-а, нуди практичан и ефикасан приступ за складиштење и приступ елементима са истим типом података. Због величине стд::арраи је познато у време компајлирања, смањени су трошкови извођења динамичког скалирања. Величина низа је постављена параметром шаблона и ставкама стд::арраи чувају се у непрекидној меморији.
Објавите стд::арраи у Ц++
Можете се изјаснити стд::арраи као:
стд :: низ < инт , 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: Пружа корисне функције
стд::арраи нуди неколико практичних функција, као што су итератори, сизе(), фронт(), бацк(), филл() и ат(), што је још једна предност. Ове функције олакшавају манипулацију елементима низа без потребе за сложеним кодом који је подложан грешкама. Итератори, на пример, олакшавају навигацију између елемената низа, а метода филл() вам омогућава да дате једну вредност целом скупу елемената низа.
Закључак
У Ц++, стд::арраи цласс нуди практичан начин рада са низовима фиксне величине, заједно са неким корисним функцијама и предностима сигурности типа и опсега. За иницијализацију и проверу граница, пружа јаснију, разумљивију синтаксу, која може помоћи да се избегну многе типичне програмске грешке. За већину ситуација када се морају користити низови фиксне величине, саветује се употреба стд::арраи пошто он пружа ажурнији и сигурнији метод манипулације њима.