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

Метод emplace_back

Метод emplace_back добавляет новый элемент в конец вектора. В отличие от метода push_back, который сначала создает временный объект, а затем копирует или перемещает его в вектор, emplace_back конструирует объект непосредственно в памяти вектора. Это позволяет избежать лишнего копирования и повысить производительность.

В параметры метода мы передаем аргументы, которые будут переданы конструктору класса элемента. Метод возвращает ссылку на добавленный элемент.

Синтаксис

vec.emplace_back(args...)

Пример

Давайте добавим несколько чисел в вектор, используя метод emplace_back:

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

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

1 2 3 4 5

Пример

Давайте создадим вектор строк и добавим в него новую строку, передав аргументы непосредственно в метод:

#include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> vec = {"a", "b", "c"}; vec.emplace_back("d"); vec.emplace_back(3, 'e'); for (const string& el : vec) { cout << el << " "; } cout << endl; return 0; }

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

"a b c d eee"

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

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