Класс array
Класс array - это контейнер из стандартной библиотеки C++, который представляет собой обёртку над обычным массивом фиксированного размера. В отличие от динамических контейнеров, таких как vector, размер array задаётся на этапе компиляции и не может изменяться во время выполнения программы. При этом array знает свой размер, поддерживает итераторы, методы доступа к элементам и может быть передан в алгоритмы стандартной библиотеки. Первым параметром шаблона указывается тип хранимых элементов, а вторым - количество элементов.
Синтаксис
#include <array>
std::array<тип, размер> имя;
Пример
Давайте создадим массив из 5 целых чисел, заполним его значениями и выведем элементы на экран:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.size(); i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте воспользуемся методом at для безопасного доступа к элементу по индексу. Если индекс выходит за пределы массива, метод выбросит исключение:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr = {1, 2, 3, 4, 5};
cout << arr.at(2) << endl;
return 0;
}
Результат выполнения кода:
3
Пример
Давайте заполним весь массив одним значением с помощью метода fill:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr;
arr.fill(7);
for (int el : arr) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
7 7 7 7 7
Пример
Давайте получим размер массива и проверим, пуст ли он, с помощью методов size и empty:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr = {1, 2, 3, 4, 5};
cout << arr.size() << endl;
cout << arr.empty() << endl;
return 0;
}
Результат выполнения кода:
5
0