Разница между pushback и emplaceback при добавлении элементов в вектор заключается в том, что pushback добавляет копию объекта, а emplaceback создаёт объект непосредственно в конце вектора, то есть без лишнего копирования (или перемещения). 2
Таким образом, push_back проще в использовании, так как не требует от пользователя указывать аргументы конструктора нового элемента. 3 Однако эта функция может быть менее эффективной, особенно при работе с большими или сложными типами данных, так как предполагает дополнительные копии или перемещения. 3
Emplaceback подходит для создания новых объектов непосредственно в конце контейнера, а pushback — для добавления копии существующего объекта в конец контейнера. 3
Выбор между этими функциями зависит от конкретной задачи: если нужно создать новый объект на месте в конце контейнера, то лучше использовать emplaceback, а если нужно добавить копию существующего объекта в конец контейнера — pushback. 3