Доклад

Под капотом std::vector<T>::push_back()

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().

Доклады