РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
218 of 815 menu

Метод assign

Метод assign заменяет содержимое вектора новыми элементами. При этом старые элементы удаляются, а размер вектора изменяется в соответствии с количеством новых элементов. Метод имеет несколько перегрузок: можно заполнить вектор n копиями одного значения, а можно скопировать элементы из другого контейнера, задав диапазон через итераторы. В первом варианте мы передаем количество элементов и само значение, во втором - итераторы начала и конца диапазона, а в третьем - список инициализации.

Синтаксис

vec.assign(count, value) vec.assign(first, last) vec.assign({a, b, c, ...})

Пример

Давайте заполним вектор 5 копиями числа 1:

#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec = {1, 2, 3}; vec.assign(5, 1); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

1 1 1 1 1

Пример

Давайте заменим содержимое вектора элементами другого вектора, передав итераторы начала и конца диапазона:

#include <iostream> #include <vector> using namespace std; int main() { vector<int> source = {1, 2, 3, 4, 5}; vector<int> vec = {9, 9, 9}; vec.assign(source.begin(), source.end()); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте заполним вектор элементами из списка инициализации:

#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec = {9, 9, 9}; vec.assign({1, 2, 3, 4, 5}); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

1 2 3 4 5

Смотрите также

  • класс vector,
    который представляет динамический массив
  • метод insert,
    который вставляет элементы в вектор
  • метод erase,
    который удаляет элементы из вектора
  • метод clear,
    который очищает вектор от всех элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить