Как поместить объект без аргументов конструктора в контейнер STL?

Предположим, у меня есть класс, у которого есть конструктор без аргументов, и контейнер STL с его объектами: list<Object> lst; Есть ли способ вставить новый объект на месте?

Я знаю что-то вроде lst.push_back(Object()); будет работать так же быстро, как и при использовании конструктора перемещения, однако кажется немного странным, что нет функции для простого создания нового объекта в конце списка без каких-либо аргументов, хотя уже есть emplace, которая могла бы соответствовать этому место.

Не могли бы вы дать некоторые объяснения, если это на самом деле невозможно?

1

Решение

Что ж, emplace_back() делает именно это.

Просто используйте lst.emplace_back(); и эта функция создаст объект на месте в конце списка.

7

Другие решения

Ты можешь использовать
lst.emplace_back();

2

По вопросам рекламы [email protected]