TGViewer
Библиотека С# С++ Библиотека С# С++ @cpluscsharp · 10.1K subscribers
Post #588 1.05K
C++26 получил новый контейнер `std::hive` - что-то между `std::vector` и `std::list`.

Главная фишка: элементы после вставки практически не двигаются в памяти. Поэтому указатели и итераторы на существующие объекты остаются валидными даже после вставок и удаления других элементов.
Как это работает:

- данные хранятся не в одном массиве, а в нескольких блоках
- удалённые элементы не сдвигают остальные
- свободные места потом переиспользуются
- специальный skipfield позволяет быстро пропускать удалённые слоты

В результате:

- вставка и удаление - амортизированно O(1)
- указатели остаются стабильными
- локальность памяти заметно лучше, чем у std::list
- но случайного доступа через [] нет
- порядок вставки не гарантируется
-
Особенно полезно для игровых движков, пулов соединений, систем частиц и других случаев, где объекты постоянно создаются и удаляются, а другие части программы хранят указатели на них.

Коротко: std::hive - не более быстрый vector, а скорее гораздо более cache-friendly альтернатива list.

https://sandordargo.com/blog/2026/09/02/cpp26-hive
Sandor Dargo’s Blog C++26: std::hive In a recent article on std::inplace_vector, I mentioned that C++26 is generous with new containers. Here’s the other one: std::hive. Consider a game engine managing thousands of entities. Each entity is stored in a container, and other subsystems hold pointers…
  • ❤ 4
  • 🔥 2
More from @cpluscsharp
  1. Sep 14, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября(уже завтра!) в 1…
  2. Sep 13, 2026💡 C++: std::map<std::string, ...> не обязан создавать временный std::string при каждом по…
  3. Sep 13, 2026🔥 Хочешь расти в IT быстрее остальных? Перестань учиться в одиночку Можно годами смотреть…
  4. Sep 9, 2026🖥 C++: объект уничтожен, а 16 МиБ всё ещё заняты std::weak_ptr может удерживать память да…
  5. Aug 23, 2026Бесплатная книга, после которой компиляторы перестают казаться магией По ходу книги вы соб…
  6. Aug 23, 2026🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →