avatar
С/С++ Portal | Программирование
@Cpportal
17.07.2026 17:41
Когда std::vector увеличивает свою емкость, он поочередно копирует каждый элемент, а затем уничтожает исходные объекты.

Для типов, которые по сути представляют собой просто набор битов (string, unique_ptr, сам vector), такое копирование с последующим уничтожением — лишняя работа.

В C++26 компилятор сможет вместо этого использовать memcpy.
Предложение P2786 добавляет в C++26 тривиальную перемещаемость. Пометьте свой тип как trivially_relocatable, и контейнеры смогут переносить элементы одним вызовом memcpy вместо копирования с последующим уничтожением.
Измеренное ускорение при перераспределении памяти vector для распространенных типов: от 2 до 10 раз.

@Cpportal
9
🔥 6
16 2.4K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

С/С++ Portal | Программирование

15.1K
Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3Foc4d
Открыть в Telegram