При вызове метода push_back
из std::vector
его размер увеличивается на единицу, подразумевая при создании нового экземпляра, а затем передаваемый вами параметр будет скопирован в этот недавно созданный элемент, правильно? Пример:
myVector.push_back(MyVectorElement());
Ну, тогда, если я хочу увеличить размер вектора с помощью элемента, просто используя его значения по умолчанию, не лучше ли использовать метод resize
? Я имею в виду вот так:
myVector.resize(myVector.size() + 1);
Насколько я вижу, это будет делать то же самое, но позволит избежать совершенно ненужной присваивающей копии атрибутов элемента.
Правильно ли это рассуждение или я что-то упускаю?