Плоские контейнеры в C++23
Новый стандарт C++, C++23, впервые с C++11 расширил всем привычную линейку контейнеров: помимо знакомых array , vector , (unordered_)set , (unordered_)map и прочим в нее теперь входят непонятные flat_set , flat_map , flat_multiset и flat_multimap . Ответим на вопросы, что это за контейнеры, когда они могут быть полезны, сравним дизайн стандартизированных «плоских» контейнеров с дизайном плоских контейнеров из Boost и ETL и, конечно, произведём замеры и сравним производительность flat_ и не flat_ контейнеров.