Метод push_back
Метод push_back класса vector добавляет новый элемент
в конец вектора. При этом размер вектора увеличивается на
единицу, а сам элемент копируется (или перемещается) внутрь
контейнера. В единственный параметр метода мы передаем
значение, которое нужно добавить в конец вектора.
Если текущей емкости вектора недостаточно для добавления нового элемента, происходит перевыделение памяти: вектор выделяет новый, больший блок памяти, копирует туда все существующие элементы и добавляет новый в конец.
Метод не возвращает значения, а изменяет сам вектор.
Синтаксис
vec.push_back(value)
Пример
Давайте создадим пустой вектор и добавим в него несколько
чисел с помощью метода push_back:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
for (int el : vec) {
cout << el << ' ';
}
return 0;
}
Результат выполнения кода:
1 2 3
Пример
Давайте добавим элементы в вектор, который уже содержит данные, и посмотрим, как изменится его размер:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3};
cout << "Before: " << vec.size() << endl;
vec.push_back(4);
vec.push_back(5);
cout << "After: " << vec.size() << endl;
for (int el : vec) {
cout << el << ' ';
}
return 0;
}
Результат выполнения кода:
"Before: 3"
"After: 5"
1 2 3 4 5
Пример
Давайте добавим строки в вектор строк:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> vec;
vec.push_back("a");
vec.push_back("b");
vec.push_back("c");
for (string el : vec) {
cout << el << ' ';
}
return 0;
}
Результат выполнения кода:
"a" "b" "c"
Смотрите также
-
класс
vector,
который представляет динамический массив -
метод
pop_back,
который удаляет последний элемент вектора -
метод
emplace_back,
который добавляет элемент в конец вектора на месте -
метод
size,
который возвращает количество элементов вектора