Есть ли разница в производительности между двумя нижеприведенными методами для вставки новых элементов в конец std::vector
:
Метод 1
std::vector<int> vec = { 1 };
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
Метод 2
std::vector<int> vec = { 1 };
int arr[] = { 2,3,4,5 };
vec.insert(std::end(vec), std::begin(arr), std::end(arr));
Лично мне нравится метод 2, потому что он хорош и лаконичен и вставляет все новые элементы из массива за один раз. Но
- есть ли разница в производительности?
- В конце концов, они делают то же самое. Не так ли?
Обновление
Причина, по которой я не инициализирую вектор всеми элементами, для начала состоит в том, что в моей программе я добавляю оставшиеся элементы на основе условия.