Добавление элементов: push_back()
В векторе не обязательно всегда одно и то же число элементов. Метод push_back() добавляет элемент в конец вектора. Новый элемент пишется в круглых скобках:
std::vector<std::string> carBrands = {"Mercedes", "Cadillac"};
carBrands.push_back("Volvo");
std::cout << carBrands[2] << std::endl;
std::cout << carBrands.size() << std::endl;Программа выведет:
Volvo
3Читайте carBrands.push_back("Volvo") слева направо: для вектора carBrands вызвать метод push_back(), который добавляет "Volvo" в его конец. Вектор меняется, а вместе с ним и его размер. Новый элемент должен иметь тип элементов вектора: в вектор строк добавляют строки, а в вектор чисел — числа.
Так можно и собирать вектор шаг за шагом, начиная с пустого:
std::vector<int> points;
points.push_back(12);
points.push_back(7);
std::cout << "Количество: " << points.size() << std::endl;
std::cout << "Последнее: " << points[points.size() - 1] << std::endl;Программа выведет:
Количество: 2
Последнее: 7Осторожно: присваивание по индексу за концом вектора не добавляет новый элемент. Если бы вы написали в этом примере points[2] = 30;, в векторе по-прежнему было бы два элемента, а значение 30 записалось бы куда-то в память за его концом. Тогда программа могла бы повести себя непредсказуемо или аварийно завершиться. С points.at(2) = 30; программа хотя бы остановилась бы с ошибкой. Новые элементы всегда добавляйте с помощью push_back().
Задание
- 1
Ева пришла в команду. Добавьте
"Ева"в конец вектораcolleaguesс помощью методаpush_back(). - 2
Выведите число коллег и последнего из них, одно под другим, чтобы в выводе были строки
Коллег: 4иПоследний: Ева. Последнего коллегу найдите с помощьюsize() - 1.