Доклад

Под капотом 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().

Расписание