- Вывод содержимого вектора на экран
- Векторы в C++: для начинающих
- Что такое вектор (vector)
- Как создать вектор (vector) в C++
- Второй способ обратиться к ячейке
- Как указать количество ячеек для вектора
- Как сравнить два вектора
- Класс vector
- Синтаксис
- Параметры
- Remarks
- Члены
- Конструкторы
- Определения типов
- Функции
- Операторы
- allocator_type
- Remarks
- Пример
- assign
- Параметры
- Remarks
- Пример
- Параметры
- Возвращаемое значение
- Remarks
- Пример
- Возвращаемое значение
- Remarks
- Пример
- begin
- Возвращаемое значение
- Remarks
- Пример
- capacity
- Возвращаемое значение
- Remarks
- Пример
- cbegin
- Возвращаемое значение
- Remarks
- Возвращаемое значение
- Remarks
- clear
- Пример
- const_iterator
- Remarks
- Пример
- const_pointer
- Remarks
- const_reference
- Remarks
- Пример
- const_reverse_iterator
- Remarks
- Пример
- crbegin
- Возвращаемое значение
- Remarks
- Пример
- crend
- Возвращаемое значение
- Remarks
- Пример
- Возвращаемое значение
- Пример
- difference_type
- Remarks
- Пример
- emplace
- Параметры
- Возвращаемое значение
- Remarks
- Пример
- emplace_back
- Параметры
- Пример
- empty
- Возвращаемое значение
- Пример
- Возвращаемое значение
- Remarks
- Пример
- erase
- Параметры
- Возвращаемое значение
- Пример
- front
- Возвращаемое значение
- Remarks
- Пример
- get_allocator
- Возвращаемое значение
- Remarks
- Пример
- insert
- Параметры
- Возвращаемое значение
- Remarks
- Пример
- iterator
- Remarks
- Пример
- max_size
- Возвращаемое значение
- Пример
- operator[]
- Параметры
- Возвращаемое значение
- Remarks
- Пример
- operator=
- Параметры
- Remarks
- Пример
- pointer
- Remarks
- Пример
- pop_back
- Remarks
- push_back
- Параметры
- Пример
- rbegin
- Возвращаемое значение
- Remarks
- Пример
- reference
- Пример
- Возвращаемое значение
- Remarks
- Пример
- reserve
- Параметры
- Пример
- resize
- Параметры
- Remarks
- Пример
- reverse_iterator
- Remarks
- Пример
- shrink_to_fit
- Пример
- Возвращаемое значение
- Пример
- size_type
- Пример
- Параметры
- Пример
- value_type
- Remarks
- Пример
- vector
- Параметры
- Remarks
Вывод содержимого вектора на экран
Добрый день ! Есть задача :
Объявите вектор a_vec с элементами целого типа и заполните его произвольными значениями.Предположим,что размер вектора неизвестен,однако,несмотря на это,необходимо выполнить вывод вектора на экран,объявите итератор для vector .Выполните вывод содержимого вектора a_vec на экран,использую при этом операцию разыменования итератора ,а так же значение итератора начального элемента a_vec.begin() и элемента следующего за конечным a_vec.end().
Оформите полученную программу в виде самостоятельной функции show_vector().Эта функция должна принимать ссылку навектор и выводить этот вектор на экран. посмотрите правильно ли я сделал первую часть задания ?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Вывод содержимого вектора с наибольшим количеством строк
Ребят помогите с заданием: Считать все строки заданного входного файла в указанную структуру.
Вывод содержимого файла на экран
С помощью подсказок и своего немного труда создал программу. Но последние условие выполняется не.
Вывод на экран содержимого файла
Напишите программу, которая выводит на экран содержимое файла A:\numbers.txt. За ранние.
буфер (вывод содержимого на экран)
нужно вывести содержимое буфера на экран (для проверки). в сети нашла только пример записи в буфер.
Андрейка, а для чего еще одна функция? std::copy() не достаточно?
Добавлено через 1 минуту
Если следовать условию моего задания ,листинг должен выглядеть вот так ?
Друзья,если не сложно поставьте комментарии возле каждой строки кода ,чтобы я мог разобраться что к чему.
И как получить исполняемый файл данной программы ?
Спасибо.
Мне хотелось бы увидеть комментарий по 6 строке ,с остальным вроде понятно.
Как раз читаю Лена Аммераля stl для программистов и Джесс_Либерти-Освой_Cpp_самостоятельно_за_21_день.
Просто конрольная на носу по шаблонам ,поэтому паралелльно пытаюсь разобраться с заданиями.К каждой сущуственной строке необходим комментарий ,поэтому и спросил.
niXman,
Добавлено через 1 час 27 минут
И все таки как должно выглядеть окончательное решение этого задания подскажите пожалуйста ?
Андрейка,У меня в задании указано,что вектор необходимо заполнить произвольными значениями и вывести их на экран с помощью разыменовывания итератора ,подскажите как это сделать?
Есть вопрос насчет программы — с циклом FOR мне понятно , с помощью его идет переборка контейнера от начала до конца и выводятся его значения .
А что делает цикл WHILE (условие выполнения цикла CIN>>)Как я понял с помощью этого цикла ,введенное значение х должно добавлятся в конец контейнера ? но при компиляции данной программы пишется «No errors or program output. » То есть ошибок в программе нет ,но она и ничего не делает .
Еще раз напомню основной вопрос : заполнить произвольными значениями и вывести их на экран с помощью разыменовывания итератора ,подскажите как это сделать? Спасибо.
Источник
Векторы в C++: для начинающих
Всем привет! До этого дня мы использовали чистые массивы. Чистые — это значит простые массивы, не имеющие у себя в багаже различных функций. В этом уроке мы пройдем нечистые массивы — векторы.
Быстрый переход по статье:
Что такое вектор (vector)
Вектор — это структура данных, которая уже является моделью динамического массива.
Давайте вспомним о том, что для создания динамического массива (вручную) нам нужно пользоваться конструктором new и вдобавок указателями. Но в случае с векторами всего этого делать не нужно.
Вообще, по стандарту пользоваться динамическим массивом через конструктор new — не есть правильно. Так как в компьютере могут происходить различные утечки памяти.
Как создать вектор (vector) в C++
Сначала для создания вектора нам понадобится подключить библиотеку — , в ней хранится шаблон вектора.
Кстати, сейчас и в будущем мы будем использовать именно шаблон вектора. Например, очередь или стек, не созданные с помощью массива или вектора, тоже являются шаблонными.
Далее, чтобы объявить вектор, нужно пользоваться конструкцией ниже:
- Вначале пишем слово vector .
- Далее в угольных скобках указываем тип, которым будем заполнять ячейки.
- И в самом конце указываем имя вектора.
В примере выше мы создали вектор строк.
Кстати, заполнить вектор можно еще при инициализации (другие способы мы пройдем позже — в методах вектора). Делается это также просто, как и в массивах. Вот так:
После имени вектора ставим знак равенства и скобки, в которых через пробел указываем значение элементов.
Такой способ инициализации можно использовать только в C++!
Так, чтобы заполнить вектор строками, нам нужно использовать кавычки — «строка» .
Второй способ обратиться к ячейке
Мы знаем, что в векторе для обращения к ячейке используются индексы. Обычно мы их используем совместно с квадратными скобками [] .
Но в C++ есть еще один способ это сделать благодаря функции — at(). В скобках мы должны указать индекс той ячейки, к которой нужно обратиться.
Вот как она работает на практике:
Давайте запустим эту программу:
Как указать количество ячеек для вектора
Указывать размер вектора можно по-разному. Можно это сделать еще при его инициализации, а можно хоть в самом конце программы. Вот, например, способ указать длину вектора на старте:
Так в круглых скобках () после имени вектора указываем первоначальную длину. А вот второй способ:
Первая строчка нам уже знакома. А вот во второй присутствует незнакомое слово — reserve , это функция, с помощью которой мы говорим компилятору, какое количество ячеек нам нужно использовать.
Вы можете задать логичный вопрос:»А в чем разница?». Давайте создадим два вектора и по-разному укажем их количество ячеек.
Как видим, в первом случае мы вывели три нуля, а во втором: 17, 0, 0.
Все потому, что при использовании первого способа все ячейки автоматически заполнились нулями.
При объявлении чего-либо (массива, вектора, переменной и т.д) мы выделяем определенное количество ячеек памяти, в которых уже хранится ненужный для ПК мусор. В нашем случае этим мусором являются числа.
Поэтому, когда мы вывели второй вектор, в нем уже находились какие-то рандомные числа — 17, 0, 0. Обычно они намного больше. Можете кстати попробовать создать переменную и вывести ее значение.
Нужно помнить! При использовании второго способа есть некоторый плюс — по времени. Так как для первого способа компилятор тратит время, чтобы заполнить все ячейки нулями.
Как сравнить два вектора
Если в середине программы нам понадобиться сравнить два массива, мы, конечно, используем цикл for и поочередно проверим все элементы.
Вектор снова на шаг впереди! Чтобы нам сравнить два вектора, потребуется применить всего лишь оператор ветвления if.
Источник
Класс vector
Класс вектора стандартной библиотеки C++ является шаблоном класса для контейнеров последовательности. Вектор хранит элементы заданного типа в линейном упорядочении и обеспечивает быстрый произвольный доступ к любому элементу. Вектор является предпочтительным контейнером для последовательности, когда производительность произвольного доступа имеет уровень «Премиум».
Синтаксис
Параметры
Type
Тип данных элементов, сохраняемых в векторе.
Allocator
Тип, представляющий сохраненный объект распределителя, содержащий сведения о распределении и отмене распределения памяти для вектора. Этот аргумент является необязательным, и значением по умолчанию является allocator .
Remarks
Для векторов время выполнения вставок и удалений элементов в конце последовательности является постоянной величиной. Время вставки и удаления элементов в середине вектора меняется линейно. Контейнер deque класса выполняется быстрее при вставке и удалении в начале и в конце последовательности. Контейнер list класса выполняется быстрее при вставке и удалении в любом месте в последовательности.
Расширение вектора происходит, когда функции-члену требуется увеличить последовательность в объекте вектора сверх его текущей емкости. Другие операции вставки и стирания могут изменять различные адреса хранения внутри последовательности. Во всех таких случаях итераторы или ссылки, указывающие на изменившиеся части последовательности, становятся недействительными. Если расширения не происходит, действительными остаются только итераторы и ссылки перед точкой вставки или удаления.
vector Класс является полной специализацией вектора шаблона класса для элементов типа bool . Он имеет распределитель для базового типа, используемого специализацией.
vector Ссылочный класс — это вложенный класс, объекты которого могут предоставлять ссылки на элементы (одиночные биты) внутри vector объекта.
Члены
Конструкторы
Имя | Описание |
---|---|
vector | Создает вектор определенного размера, вектор с элементами определенного значения, вектор с определенным allocator , или вектор как копию какого-либо другого вектора. |
Определения типов
Имя | Описание |
---|---|
[allocator_type] (#allocator_type) | Тип, представляющий класс allocator для объекта вектора. |
const_iterator | Тип, предоставляющий итератор произвольного доступа, который может считывать const элемент в векторе. |
const_pointer | Тип, предоставляющий указатель на const элемент в векторе. |
const_reference | Тип, предоставляющий ссылку на const элемент, хранящийся в векторе. Он используется для чтения и выполнения const операций. |
const_reverse_iterator | Тип, предоставляющий итератор произвольного доступа, который может читать любой const элемент в векторе. |
difference_type | Тип, представляющий различие между адресами двух элементов в векторе. |
iterator | Тип, предоставляющий итератор произвольного доступа, который может читать или изменять любой элемент в векторе. |
pointer | Тип, предоставляющий указатель на элемент в векторе. |
reference | Тип, предоставляющий ссылку на элемент, хранящийся в векторе. |
reverse_iterator | Тип, предоставляющий итератор произвольного доступа, который может читать или изменять любой элемент в обратном векторе. |
size_type | Тип, считающий количество элементов в векторе. |
value_type | Тип, представляющий тип данных, хранящихся в векторе. |
Функции
Имя | Описание |
---|---|
assign | Удаляет вектор и копирует указанные элементы в пустой вектор. |
at | Возвращает ссылку на элемент в заданном положении в векторе. |
back | Возвращает ссылку на последний элемент вектора. |
begin | Возвращает итератор произвольного доступа, указывающий на первый элемент в векторе. |
capacity | Возвращает число элементов, которое вектор может содержать без выделения дополнительного пространства. |
cbegin | Возвращает постоянный итератор произвольного доступа, указывающий на первый элемент в векторе. |
cend | Возвращает константный итератор произвольного доступа, указывающий на позицию, следующую за концом вектора. |
crbegin | Возвращает константный итератор, который указывает на первый элемент в обратном векторе. |
crend | Возвращает константный итератор, который указывает на последний элемент в обратном векторе. |
clear | Очищает элементы вектора. |
data | Возвращает указатель на первый элемент в векторе. |
emplace | Вставляет элемент, созданный на месте, в указанное положение в векторе. |
emplace_back | Добавляет элемент, созданный на месте, в конец вектора. |
empty | Проверяет, пуст ли контейнер вектора. |
end | Возвращает итератор произвольного доступа, который указывает на конец вектора. |
erase | Удаляет элемент или диапазон элементов в векторе из заданных позиций. |
front | Возвращает ссылку на первый элемент в векторе. |
get_allocator | Возвращает объект классу allocator , используемому вектором. |
insert | Вставляет элемент или множество элементов в заданную позиции в вектор. |
max_size | Возвращает максимальную длину вектора. |
pop_back | Удаляет элемент в конце вектора. |
push_back | Добавляет элемент в конец вектора. |
rbegin | Возвращает итератор, указывающий на первый элемент в обратном векторе. |
rend | Возвращает итератор, который указывает на последний элемент в обратном векторе. |
reserve | Резервирует минимальную длину хранилища для объекта вектора. |
resize | Определяет новый размер вектора. |
shrink_to_fit | Удаляет лишнюю емкость. |
size | Возвращает количество элементов в векторе. |
swap | Меняет местами элементы двух векторов. |
Операторы
Имя | Описание |
---|---|
operator[] | Возвращает ссылку на элемент вектора в указанной позиции. |
operator= | Заменяет элементы вектора копией другого вектора. |
allocator_type
Тип, представляющий класс распределителя для объекта вектора.
Remarks
allocator_type является синонимом для параметра-шаблона Allocator .
Пример
Пример использования allocator_type см. в разделе get_allocator.
assign
Удаляет вектор и копирует указанные элементы в пустой вектор.
Параметры
first
Положение первого элемента в диапазоне копируемых элементов.
last
Положение первого элемента за пределами диапазона копируемых элементов.
count
Количество копий элемента, вставляемых в вектор.
value
Значение элемента, вставляемого в вектор.
init_list
Объект initializer_list, содержащий вставляемые элементы.
Remarks
assign Во-первых, удаляет все существующие элементы в векторе. Затем assign либо Вставляет указанный диапазон элементов из исходного вектора в вектор, либо вставляет копии нового указанного элемента value в вектор.
Пример
Возвращает ссылку на элемент в заданном положении в векторе.
Параметры
position
Номер нижнего индекса или позиции элемента, на который включается ссылка в векторе.
Возвращаемое значение
Ссылка на элемент, индекс которого указан в аргументе. Если position значение больше размера вектора, at вызывает исключение.
Remarks
Если возвращаемое значение at присваивается const_reference , то объект Vector изменить нельзя. Если возвращаемое значение at присвоено reference , то объект вектора можно изменить.
Пример
Возвращает ссылку на последний элемент вектора.
Возвращаемое значение
Последний элемент вектора. Если вектор пуст, возвращаемое значение не определено.
Remarks
Если возвращаемое значение back присваивается const_reference , то объект Vector изменить нельзя. Если возвращаемое значение back присвоено reference , то объект вектора можно изменить.
При компиляции с помощью, _ITERATOR_DEBUG_LEVEL заданного как 1 или 2, возникает ошибка времени выполнения при попытке получить доступ к элементу в пустом векторе. Дополнительные сведения см. в разделе проверенные итераторы.
Пример
begin
Возвращает итератор произвольного доступа, указывающий на первый элемент в векторе.
Возвращаемое значение
Итератор произвольного доступа, который указывает на первый элемент в vector или на элемент, следующий за пустым vector . Всегда сравнивайте значение, возвращаемое с, vector::end чтобы убедиться, что оно является допустимым.
Remarks
Если возвращаемое значение begin присваивается vector::const_iterator , то vector объект нельзя изменить. Если возвращаемое значение begin присваивается vector::iterator , vector объект может быть изменен.
Пример
capacity
Возвращает число элементов, которое вектор может содержать без выделения дополнительного пространства.
Возвращаемое значение
Текущая длина хранилища, выделенного вектору.
Remarks
Функция-член resize будет более эффективной, если выделить достаточно памяти для ее размещения. Используйте функцию члена, reserve чтобы указать объем выделенной памяти.
Пример
cbegin
Возвращает const итератор, который обращается к первому элементу в диапазоне.
Возвращаемое значение
const Итератор произвольного доступа, указывающий на первый элемент диапазона, или расположение непосредственно за концом пустого диапазона (для пустого диапазона cbegin() == cend() ).
Remarks
С возвращаемым значением cbegin элементы в диапазоне нельзя изменять.
Эту функцию-член можно использовать вместо функции-члена begin() , чтобы гарантировать, что возвращаемое значение будет const_iterator . Как правило, он используется в с auto ключевым словом выведения типа, как показано в следующем примере. В этом примере рекомендуется использовать Container изменяемый (не- const ) контейнер любого типа, который поддерживает begin() и cbegin() .
Возвращает const итератор после конца, указывающий на элемент, следующий за последним элементом вектора.
Возвращаемое значение
const Завершающий итератор для вектора. Он указывает на элемент, следующий за последним элементом вектора. Этот элемент является заполнителем и не должен быть разыменован. Используйте его только для сравнения. Если Vector является пустым, то vector::cend() == vector::cbegin() .
Remarks
cend используется для проверки того, прошел ли итератор конец диапазона.
Эту функцию-член можно использовать вместо функции-члена end() , чтобы гарантировать, что возвращаемое значение будет const_iterator . Как правило, он используется с auto ключевым словом выведения типа, как показано в следующем примере. В этом примере рекомендуется использовать Container изменяемый (не- const ) контейнер любого типа, который поддерживает end() и cend() .
Значение, возвращаемое, cend не должно быть разыменовано. Используйте его только для сравнения.
clear
Очищает элементы вектора.
Пример
const_iterator
Тип, предоставляющий итератор произвольного доступа, который может считывать const элемент в векторе.
Remarks
Тип const_iterator нельзя использовать для изменения значения элемента.
Пример
Пример использования back см. в разделе const_iterator .
const_pointer
Тип, предоставляющий указатель на const элемент в векторе.
Remarks
Тип const_pointer нельзя использовать для изменения значения элемента.
Для доступа к элементу вектора обычно используется iterator.
const_reference
Тип, предоставляющий ссылку на const элемент, хранящийся в векторе. Он используется для чтения и выполнения const операций.
Remarks
Тип const_reference нельзя использовать для изменения значения элемента.
Пример
const_reverse_iterator
Тип, предоставляющий итератор произвольного доступа, который может читать любой const элемент в векторе.
Remarks
Тип const_reverse_iterator не может изменять значение элемента и используется для прохода по вектору в обратную.
Пример
См rbegin . Пример объявления и использования итератора.
crbegin
Возвращает константный итератор, который указывает на первый элемент в обратном векторе.
Возвращаемое значение
Константный реверсивный итератор произвольного доступа, обращающийся к первому элементу в обратную vector или обращающуюся к последнему элементу в необращенном порядке vector .
Remarks
При возвращении значения crbegin vector объект не может быть изменен.
Пример
crend
Возвращает обратный реверсивный const итератор, указывающий на элемент, следующий за последним элементом в инвертированном векторе.
Возвращаемое значение
const Обратный завершающий итератор для инвертированного вектора. Он указывает элемент, следующий за последним элементом в инвертированном векторе, который совпадает с элементом перед первым элементом неинвертированного вектора. Этот элемент является заполнителем и не должен быть разыменован. Используйте его только для сравнения.
Remarks
crend используется с обратным vector так же, как используется vector::cend с vector .
При возвращении значения crend (с соответствующим уменьшением) vector объект изменить нельзя.
crend используется, чтобы проверить, достиг ли итератор конца vector .
Значение, возвращаемое, crend не должно быть разыменовано. Используйте его только для сравнения.
Пример
Возвращает указатель на первый элемент в векторе.
Возвращаемое значение
Указатель на первый элемент в vector или в позицию, где выполняется пустое значение vector .
Пример
difference_type
Тип, предоставляющий разницу между двумя итераторами, ссылающимися на элементы в одном и том же векторе.
Remarks
difference_type также можно описать как число элементов между двумя указателями, так как указатель на элемент содержит его адрес.
Для доступа к элементу вектора обычно используется iterator.
Пример
emplace
Вставляет элемент, созданный на месте, в указанное положение в векторе.
Параметры
position
Место vector вставки первого элемента.
args
Аргументы конструктора. Функция определяет перегрузку конструктора, которую нужно вызвать, на основе переданных аргументов.
Возвращаемое значение
Функция возвращают итератор, указывающий на положение вставки нового элемента в vector .
Remarks
Любая операция вставки может быть дорогостоящей, см. раздел vector класс для обсуждения vector производительности.
Пример
emplace_back
Добавляет элемент, созданный на месте, в конец вектора.
Параметры
args
Аргументы конструктора. Функция определяет перегрузку конструктора, которую нужно вызвать, на основе переданных аргументов.
Пример
empty
Проверяет, пуст ли вектор.
Возвращаемое значение
true значение, если вектор пуст; false значение, если вектор не пуст.
Пример
Возвращает итератор после конца, указывающий на элемент, следующий за последним элементом вектора.
Возвращаемое значение
Завершающий итератор для вектора. Он указывает на элемент, следующий за последним элементом вектора. Этот элемент является заполнителем и не должен быть разыменован. Используйте его только для сравнения. Если Vector является пустым, то vector::end() == vector::begin() .
Remarks
Если возвращаемое значение end присваивается переменной типа const_iterator , объект Vector изменить нельзя. Если возвращаемое значение end присваивается переменной типа iterator , то объект Vector можно изменить.
Пример
erase
Удаляет элемент или диапазон элементов в векторе из заданных позиций.
Параметры
position
Положение элемента, удаляемого из вектора.
first
Положение первого элемента, удаляемого из вектора.
last
Положение после последнего элемента, удаляемого из вектора.
Возвращаемое значение
Итератор, указывающий на первый элемент, оставшийся после удаленных элементов, или на указатель конца вектора, если такого элемента не существует.
Пример
front
Возвращает ссылку на первый элемент в векторе.
Возвращаемое значение
Ссылка на первый элемент в объекте вектора. Если вектор пуст, возвращаемое значение не определено.
Remarks
Если возвращаемое значение front присваивается const_reference , то объект Vector изменить нельзя. Если возвращаемое значение front присваивается reference , то объект Vector можно изменить.
При компиляции с помощью, _ITERATOR_DEBUG_LEVEL заданного как 1 или 2, возникает ошибка времени выполнения при попытке получить доступ к элементу в пустом векторе. Дополнительные сведения см. в разделе проверенные итераторы.
Пример
get_allocator
Возвращает копию объекта allocator, используемого для создания вектора.
Возвращаемое значение
Распределитель, используемый вектором.
Remarks
Распределители для класса вектора определяют, как этот класс управляет хранилищем. Распределителей по умолчанию в классах контейнеров стандартной библиотеки C++ достаточно для большинства задач программирования. Написание и использование собственного класса распределителя является расширенной функцией C++.
Пример
insert
Вставляет элемент или несколько элементов или диапазон элементов в указанную позиции в вектор.
Параметры
position
Позиция в векторе, куда вставляется первый элемент.
value
Значение элемента, вставляемого в вектор.
count
Количество элементов, вставляемых в вектор.
first
Положение первого элемента в диапазоне копируемых элементов.
last
Положение первого элемента после диапазона копируемых элементов.
Возвращаемое значение
Две первые функции insert возвращают итератор, указывающий на положение вставки нового элемента в вектор.
Remarks
В качестве предусловия first и last не должны быть итераторами в векторе или поведение не определено. Любая операция вставки может быть дорогостоящей, см. раздел vector класс для обсуждения vector производительности.
Пример
iterator
Тип, предоставляющий итератор произвольного доступа, который может читать или изменять любой элемент в векторе.
Remarks
Тип iterator можно использовать для изменения значения элемента.
Пример
max_size
Возвращает максимальную длину вектора.
Возвращаемое значение
Максимально возможная длина вектора.
Пример
operator[]
Возвращает ссылку на элемент вектора в указанной позиции.
Параметры
position
Позиция элемента вектора.
Возвращаемое значение
Если заданная позиция больше или равна размеру контейнера, результат не определен.
Remarks
Если возвращаемое значение operator[] присваивается const_reference , то объект Vector изменить нельзя. Если возвращаемое значение operator[] присвоено ссылке, то объект вектора можно изменить.
При компиляции с помощью параметра, _ITERATOR_DEBUG_LEVEL заданного как 1 или 2, возникает ошибка времени выполнения при попытке доступа к элементу за пределами вектора. Дополнительные сведения см. в разделе проверенные итераторы.
Пример
operator=
Заменяет элементы вектора копией другого вектора.
Параметры
right
Объект, который vector копируется в vector .
Remarks
После стирания любых существующих элементов в vector , operator= копирует или перемещает содержимое right в vector .
Пример
pointer
Тип, предоставляющий указатель на элемент в векторе.
Remarks
Тип pointer можно использовать для изменения значения элемента.
Пример
pop_back
Удаляет элемент в конце вектора.
Remarks
Пример кода см. в разделе vector::push_back().
push_back
Добавляет элемент в конец вектора.
Параметры
value
Значение, назначаемое элементу, который добавляется в конец вектора.
Пример
rbegin
Возвращает итератор, указывающий на первый элемент в обратном векторе.
Возвращаемое значение
Обратный итератор произвольного доступа, указывающий на первый элемент в обратном векторе или на последний элемент в исходном векторе.
Remarks
Если возвращаемое значение rbegin присваивается const_reverse_iterator , то объект Vector изменить нельзя. Если возвращаемое значение rbegin присвоено reverse_iterator , то объект вектора можно изменить.
Пример
reference
Тип, предоставляющий ссылку на элемент, хранящийся в векторе.
Пример
См at . Пример использования reference в классе Vector.
Возвращает обратный реверсивный итератор, указывающий на элемент, следующий за последним элементом в инвертированном векторе.
Возвращаемое значение
Обратный завершающий итератор для инвертированного вектора. Он указывает элемент, следующий за последним элементом в инвертированном векторе, который совпадает с элементом перед первым элементом неинвертированного вектора. Этот элемент является заполнителем и не должен быть разыменован. Используйте его только для сравнения.
Remarks
rend используется с обратным вектором точно так же, как end используется с вектором.
Если возвращаемое значение rend присваивается const_reverse_iterator , то объект Vector изменить нельзя. Если возвращаемое значение rend присвоено reverse_iterator , то объект вектора можно изменить.
rend используется, чтобы проверить, достиг ли обратный итератор конца вектора.
Значение, возвращаемое, rend не должно быть разыменовано. Используйте его только для сравнения.
Пример
reserve
Резервирует минимальную длину хранилища для объекта вектора, при необходимости выделяя пространство.
Параметры
count
Минимальная длина хранилища, выделяемого для вектора.
Пример
resize
Определяет новый размер вектора.
Параметры
new_size
Новый размер вектора.
value
Значение инициализации новых элементов, добавленных в вектор, если новый размер больше исходного. Если значение опущено, новые объекты используют конструктор по умолчанию.
Remarks
Если размер контейнера меньше запрошенного размера, new_size то resize добавляет элементы в вектор до тех пор, пока не достигнет запрошенного размера. Если размер контейнера больше запрошенного размера, resize удаляет элементы, ближайшие к концу контейнера, пока не достигнет размера new_size . Если текущий размер контейнера совпадает с запрошенным размером, никакие действия не выполняются.
size отражает текущий размер вектора.
Пример
reverse_iterator
Тип, предоставляющий итератор произвольного доступа, который может читать или изменять любой элемент в обратном векторе.
Remarks
Тип reverse_iterator используется для последовательного прохождения через вектор в обратную сторону.
Пример
shrink_to_fit
Удаляет лишнюю емкость.
Пример
Возвращает количество элементов в векторе.
Возвращаемое значение
Текущая длина вектора.
Пример
size_type
Тип, считающий количество элементов в векторе.
Пример
Меняет местами элементы двух векторов.
Параметры
right
Вектор, предоставляющий элементы для обмена. Или вектор, элементы которого должны быть заменены элементами в векторе left .
left
Вектор, элементы которого должны быть заменены элементами в векторе right .
Пример
value_type
Тип, представляющий тип данных, хранящихся в векторе.
Remarks
value_type является синонимом для параметра-шаблона Type .
Пример
vector
Конструирует вектор. Перегрузки создают вектор определенного размера или с элементами определенного значения. Или, как копия какого-либо другого вектора или его части. Некоторые перегрузки также позволяют указать распределитель для использования.
Параметры
allocator
Класс распределителя для использования с данным объектом. get_allocator Возвращает класс распределителя для объекта.
count
Количество элементов в создаваемом векторе.
value
Значение элементов в создаваемом векторе.
source
Вектор, для которого создаваемый вектор станет копией.
first
Положение первого элемента в диапазоне копируемых элементов.
last
Положение первого элемента за пределами диапазона копируемых элементов.
init_list
Объект, initializer_list содержащий копируемые элементы.
Remarks
Все конструкторы хранят объект распределителя ( allocator ) и инициализируют вектор.
Первые два конструктора определяют пустой исходный вектор. Второй конструктор явно указывает тип распределителя ( allocator ) для использования.
Третий конструктор задает повторение указанного числа ( count ) элементов значения по умолчанию для класса Type .
Четвертый и пятый конструкторы указывают повторение ( count ) элементов value value .
Шестой конструктор задает копию вектора source .
Седьмой конструктор перемещает вектор source .
Восьмой конструктор использует initializer_list, чтобы указать элементы.
Девятый и десятый конструкторы копируют диапазон [ first , last ) вектора.
Источник