Что такое std::array в С++?

Cto Takoe Std Array V S



C++ предоставляет множество структур данных для хранения коллекций элементов и управления ими. Одной из таких структур данных является станд::массив , который был представлен в стандартной библиотеке C++11. В этой статье вы узнаете о std::array, его синтаксисе, примере и преимуществах в C++.

Что такое std::array в С++?

В C++ контейнер, известный как станд::массив используется для хранения фиксированного количества элементов данных одного типа. станд::массив container представляет собой альтернативу массивам в стиле C, поскольку он безопаснее, проще в использовании и имеет лучшую производительность.

Этот класс, являющийся компонентом стандартной библиотеки C++, предлагает практичный и эффективный подход к хранению и доступу к элементам с одним и тем же типом данных. Потому что размер станд::массив известен во время компиляции, сокращаются накладные расходы динамического масштабирования во время выполнения. Размер массива задается параметром шаблона, а элементы станд::массив хранятся в непрерывной памяти.







Объявить std::array в C++

Вы можете объявить станд::массив нравиться:



стандарт :: множество < инт , 4 > обр ;

Приведенный выше синтаксис объявляет массив с именем обр с фиксированным размером 4 элемента, где каждый элемент имеет тип int.



Пример std::массив

Пример 1: Ниже приведен простой пример инициализации станд::массив в С++:





#include <массив>

#include

инт основной ( ) {

стандарт :: множество < инт , 4 > обр '=' { 4 , 6 , 2 , 1 } ;

для ( инт я '=' 0 ; я < обр. размер ( ) ; я ++ ) {

стандарт :: cout << обр [ я ] << ' ' ;

}

стандарт :: cout << стандарт :: конец ;

возвращаться 0 ;

}

Выход



Пример 2: Вы также можете использовать станд::массив для доступа к элементам массива. Код приведен ниже:

#include <массив>

#include

инт основной ( ) {

стандарт :: множество < инт , 3 > обр '=' { 1 , 2 , 3 } ;

стандарт :: cout << 'Первый элемент' << обр [ 0 ] << стандарт :: конец ;

стандарт :: cout << 'Второй элемент' << обр. в ( 1 ) << стандарт :: конец ;

стандарт :: cout << 'Третий элемент' << обр. назад ( ) << стандарт :: конец ;

возвращаться 0 ;

}

Выход

Пример 3: В следующем примере показана печать элемента из массива в определенной позиции с использованием станд::массив в С++.

#include

#include <массив>

инт основной ( )

{

стандарт :: множество < инт , 4 > обр '=' { 4 , 6 , 2 , 1 } ;

стандарт :: cout << обр [ 3 ] << стандарт :: конец ;

возвращаться 0 ;

}

Выход

Преимущества std::array в C++

В отличие от традиционных массивов в C++, станд::массив предлагает ряд функций.

1: Интуитивно понятный синтаксис

станд::массив имеет более интуитивно понятный синтаксис для инициализации и может быть инициализирован с помощью списка инициализаторов. Это обеспечивает более лаконичный и удобочитаемый способ инициализации массива.

2: Передается как аргумент

станд::массив могут быть переданы в качестве аргументов в функции, а также могут быть возвращены из функций.

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

Одно из ключевых преимуществ использования станд::массив заключается в том, что он обеспечивает простое и эффективное управление памятью. Это означает, что нет необходимости в ручном выделении или освобождении памяти.

4: Автоматическая проверка границ

Дело в том, что станд::массив предлагает автоматическую проверку границ для массивов в стиле C, что является одним из его ключевых преимуществ. Это означает, что если программа попытается получить доступ к элементу за пределами определенного диапазона массива, компилятор выдаст ошибку. Переполнение буфера, ошибки сегментации и утечки памяти — это лишь некоторые из частых проблем программирования, которых может помочь избежать проверка привязки.

5: Предоставляет полезные функции

станд::массив предлагает несколько удобных функций, таких как итераторы, size(), front(), back(), fill() и at(), что является еще одним преимуществом. Эти функции упрощают работу с элементами массива без необходимости написания сложного и подверженного ошибкам кода. Итераторы, например, упрощают навигацию по элементам массива, а метод fill() позволяет указать одно значение для всего набора элементов массива.

Заключение

В С++, станд::массив class предлагает практичный способ работы с массивами фиксированного размера, а также некоторые полезные функции и преимущества безопасности типов и диапазонов. Для инициализации и проверки границ он предоставляет более четкий и понятный синтаксис, который может помочь избежать многих типичных ошибок программирования. В большинстве ситуаций, когда необходимо использовать массивы фиксированного размера, рекомендуется использовать std::array, поскольку он обеспечивает более современный и безопасный метод управления ими.