Векторы C ++ являются частью STL (стандартной библиотеки шаблонов). STL - одна из многих библиотек, доступных для C ++, которые повышают эффективность, гибкость и производительность приложений. Векторы очень полезны и являются жизненно важной концепцией для всех, кто хочет хорошо изучить C ++.
Векторы C ++ - это, по сути, контейнеры, которые вы можете использовать для хранения данных. Они делают работу с массивами чистой и быстрой, поэтому знание того, как использовать векторы C ++, является ценным навыком, если вы хотите разработать приложение на C ++. Читайте дальше, мы обсудим все, что вам нужно знать о векторах C ++.
Что такое векторы C ++?
Векторы C ++ - это контейнеры последовательностей, которые являются важным компонентом стандартной библиотеки шаблонов. Векторы представляют собой массивы, которые при необходимости могут динамически изменять размер во время выполнения.
В отличие от традиционных массивов, вам не нужно явно управлять выделением памяти для вектора. Контейнер вектора автоматически управляет своей памятью. Вы можете думать о векторах C ++ как о динамическом массиве, который настраивается после добавления или удаления элемента.
Кроме того, вектор размещает свои элементы непрерывно. Это означает, что вы можете легко получить к ним доступ с помощью указателей или итераторов.
Как работает std:: vector
Теперь, когда вы знакомы с векторами C ++, вам необходимо понять, как они работают, прежде чем вы сможете начать использовать их в своем коде.
Связанный: Актуален ли C ++ в 2021 году?
Когда вы используете вектор C ++, он будет вставлять новые элементы в конце за разное время. Это связано с тем, что в некоторых случаях вектор должен будет расшириться, чтобы разместить новый элемент. Точно так же, если бы вы извлекали последний элемент вектора, это заняло бы постоянное время, когда вектору не нужно регулировать его длину (размер).
Чтобы эффективно использовать векторы, мы используем итераторы и встроенные функции. Итераторы - это указатели, используемые вместе с векторами C ++. Они упрощают обход векторного контейнера. Существует множество различных векторных функций, и в следующем разделе мы рассмотрим некоторые из наиболее важных.
Векторные функции C ++
Давайте посмотрим на некоторые функции итератора и контейнера STL, которые обычно используются с векторами C ++:
- начинать() возвращает указатель итератора, указывающий на первый элемент вектора.
- конец() возвращает указатель итератора на позицию после конца векторного контейнера.
- rbegin () как начинать(), но он дает вам обратный итератор, указывающий на последний элемент в векторе.
- размер() возвращает количество элементов, хранящихся в векторе.
- max_size () возвращает максимальную вместимость элементов, которую может вместить векторный контейнер.
- изменить размер (x) изменит размер векторного контейнера, чтобы он мог удерживать Икс элементы.
- пустой() возвращает истину, если векторный контейнер не имеет элементов.
- отталкивать() вставляет новый элемент в вектор в конце.
- pop_back () извлекает элемент из конца векторного контейнера.
- вставлять() позволяет добавить элемент к вектору в указанной позиции.
Пример вектора C ++
Использование векторов в C ++ делает кодирование с массивами гибким и быстрым. Давайте посмотрим на пример кода, в котором используются векторы C ++.
#включают
#включают
используя пространство имен std;
пустая функция()
{
вектор обр;
// push_back для добавления элементов в конец нашего контейнера
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// вектор теперь содержит [10,5,20]
// использовать итератор begin () для обхода контейнера до указателя end ()
cout << "итераторы begin () и end ():";
для (авто j = arr.begin (); j! = arr.end (); j ++)
{
cout << * j << '';
}
// Ожидаемый результат: 10 5 20
// rbegin () и rend () используются для обратного перемещения контейнера вектора
cout << "итераторы rbegin () и rend ():";
для (авто j = arr.rbegin (); j! = arr.rend (); j ++)
{
cout << * j << '';
}
// Ожидаемый результат: 20 5 10
cout << "Размер массива:" << arr.size () << endl;
// Ожидаемый результат: размер массива: 3
// Изменить размер массива, чтобы он содержал только 2 элемента
arr.resize (2);
cout << "Размер массива:" << arr.size () << endl;
// Ожидаемый результат: размер массива: 2
cout << "MaxSize ():" << arr.max_size () << endl;
cout << "Вектор пуст? "<< arr.empty () << endl;
// pop_back последний элемент
arr.pop_back ();
// вставляем 5 в начало массива
arr.insert (arr.begin (), 5);
}
Связанный: Как научиться программированию на C ++
Использование векторов в C ++
Векторы C ++ являются гибкими и мощными, поэтому они являются важной функцией для каждого разработчика C ++. STL - важная библиотека C ++, и ее подробное изучение может помочь вам создавать лучшие приложения.
Хотите лучше понять C ++ с помощью стандартной библиотеки шаблонов? Попади сюда по книгам.
Читать далее
- Программирование
- Программирование
- Объектно-ориентированное программирование
Фахад - писатель в MakeUseOf, в настоящее время специализируется на компьютерных науках. Как заядлый технический писатель, он следит за тем, чтобы оставаться в курсе последних технологий. Он особенно интересуется футболом и технологиями.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться