
std::vector<T> в стандартной библиотеке и вектор вообще — один из самых фундаментальных типов, и push_back() — одна из самых фундаментальных операций над вектором (и вообще, если рассматривать разные контейнеры). Важно хорошо понимать этот кирпичик.
Рассмотрим практически всю теорию вокруг std::vector<T>::push_back(), которая затем поможет нам ускорить такой код:
c++
std::vector<ItemType> parse(std::input_iterator auto begin,
std::input_iterator auto end) {
std::vector<ItemType> parsed;
for (const auto &i : std::ranges::subrange{ begin, end })
parsed.push_back(parseDataPoint(i));
return parsed;
}
После доклада у вас будет хорошее понимание как работает std::vector<T>::push_back(). Также вы узнаете как находить места для оптимизации на примере ускорения кода, использующего push_back().