Какво е std::array в C++?

Kakvo E Std Array V C



C++ предоставя различни структури от данни за съхраняване и манипулиране на колекции от елементи. Една такава структура от данни е std::масив , който беше въведен в стандартната библиотека на C++11. Чрез тази статия ще научите за std::array, неговия синтаксис, пример и неговите предимства в C++.

Какво е std::array в C++

В C++, контейнер, известен като std::масив се използва за задържане на фиксиран брой от един и същ тип данни. The std::масив контейнерът предоставя алтернатива на масивите в стил C, тъй като е по-безопасен, по-лесен за използване и има по-добра производителност.

Класът, който е компонент на стандартната библиотека на C++, предлага практичен и ефективен подход за съхраняване и достъп до елементи със същия тип данни. Тъй като размерът на std::масив е известно по време на компилиране, времето за изпълнение на динамичното мащабиране е намалено. Размерът на масива се задава от параметъра на шаблона, а елементите на std::масив се съхраняват в непрекъсната памет.







Декларирайте std::array в C++

Можете да декларирате std::масив като:



std :: масив < вътр , 4 > обр ;

Горният синтаксис декларира масив с име обр с фиксиран размер от 4 елемента, като всеки елемент е от тип int.



Пример за std::array

Пример 1: Следва прост пример за инициал a std::масив в C++:





#include <масив>

#include

вътр основен ( ) {

std :: масив < вътр , 4 > обр = { 4 , 6 , 2 , 1 } ;

за ( вътр i = 0 ; i < обр. размер ( ) ; i ++ ) {

std :: cout << обр [ i ] << ' ' ;

}

std :: cout << std :: endl ;

връщане 0 ;

}

Изход



Пример 2: Можете също да използвате std::масив за достъп до елементите в масив. Кодът е даден по-долу:

#include <масив>

#include

вътр основен ( ) {

std :: масив < вътр , 3 > обр = { 1 , 2 , 3 } ;

std :: cout << 'Първият елемент е' << обр [ 0 ] << std :: endl ;

std :: cout << 'Вторият елемент е' << обр. при ( 1 ) << std :: endl ;

std :: cout << 'Третият елемент е' << обр. обратно ( ) << std :: endl ;

връщане 0 ;

}

Изход

Пример 3: Следващият пример показва отпечатването на елемент от масив на конкретна позиция с помощта на std::масив в C++.

#include

#include <масив>

вътр основен ( )

{

std :: масив < вътр , 4 > обр = { 4 , 6 , 2 , 1 } ;

std :: cout << обр [ 3 ] << std :: endl ;

връщане 0 ;

}

Изход

Предимства на std::array в C++

За разлика от традиционните масиви в C++, std::масив предлага набор от функции.

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

std::масив има по-интуитивен синтаксис за инициализация и може да се инициализира с помощта на списък с инициализатори. Това осигурява по-сбит и четим начин за инициализиране на масива.

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

std::масив могат да се предават като аргументи на функции и е възможно да се връщат и от функциите.

3: Управление на паметта

Едно от основните предимства на използването std::масив е, че осигурява лесно и ефективно управление на паметта. Това означава, че няма нужда от ръчно разпределяне или освобождаване на памет.

4: Автоматична проверка на връзките

Фактът че std::масив предлага автоматизирана проверка на граници над масиви в стил C е едно от основните му предимства. Това означава, че ако програмата се опита да получи достъп до елемент извън дефинирания диапазон на масива, компилаторът ще генерира грешка. Препълването на буфера, грешките в сегментирането и изтичането на памет са само някои от често срещаните проблеми при програмирането, които обвързаната проверка може да ви помогне да избегнете.

5: Осигурява полезни функции

std::масив предлага няколко удобни функции, като итератори, size(), front(), back(), fill() и at(), което е друго предимство. Тези функции улесняват манипулирането на елементите на масива без необходимост от сложен и податлив на грешки код. Итераторите, например, улесняват навигирането между елементите на масива, а методът fill() ви позволява да предоставите една стойност на целия набор от елементи на масива.

Заключение

В C++, std::масив предлага практичен начин за работа с масиви с фиксиран размер, заедно с някои полезни функции и предимствата на безопасността на типа и диапазона. За инициализация и проверка на граници, той предоставя по-ясен, по-разбираем синтаксис, който може да помогне да се избегнат много типични програмни грешки. За повечето ситуации, когато трябва да се използват масиви с фиксиран размер, се препоръчва използването на std::array, тъй като предоставя по-актуален и сигурен метод за тяхното манипулиране.