home.social

#stl_контейнеры — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #stl_контейнеры, aggregated by home.social.

  1. Не бойтесь std::set, его легко приручить

    Не бойтесь std::set, его легко приручить. Эта небольшая статья для тех, кто имеет некоторое представление об ассоциативных контейнерах стандартной библиотеки C++ (std::map, std::set и т.д.), но пока не использовал «множество» (std::set) в повседневной жизни. Этот контейнер позволяет наиболее изящно организовать коллекцию «самоидентифицируемых» объектов, не трубующих внешнего «ключа» для поиска. Но работа с std::set имеет свои особенности, о них и пойдет речь. Каких-то принциапиальных открытий статья не содержит, я просто решил собрать в одном месте некий минимально необходимый набор приемов для работы со множествами и, таким образом, несколько сэкономить время читателя, впервые решившего использовать «множества» в реальных проектах. Сразу оговорюсь, я сознательно снизил планку стандарта C++ до минимально необходимой, чтобы код, приведенный здесь, мог использоваться максимально широко (так что просьба не удивляться громоздким «устаревшим» конструкциям вроде enable_if). ... Отлично, std::set — это то, что нужно! Зачем мне std::map, если ключ уже находится внутри моего объекта! Такова была моя первая восторженная реакция после знакомства с «множеством» (std::set) стандартной библиотеки шаблонов C++. Это было давно... очень давно.

    habr.com/ru/articles/986322/

    #множество #гетерогенные_запросы #stl_контейнеры #set #map #с++ #с++14 #с++17

  2. Структуры данных в C++

    Всем привет! Давно хотел собрать пост по структурам данным, которые есть в C++ и кратенько описать преимущество каждой из них. В первой итерации статьи начнем с тех, что есть в стандартной библиотеке STL. Начнем с того, что структура данных — это формальный способ организации и хранения информации в памяти компьютера, который определяет, как данные располагаются, как к ним обращаются и какие операции над ними выполняются наиболее эффективно. Выбор структуры данных напрямую определяет производительность программы. Если операция выполняется миллионы раз в секунду — даже незначительное отличие во времени вставки или доступа может стать решающим. Стандартная библиотека C++ (STL) предоставляет широкий набор структур данных, каждая из них решает определённый класс задач: от линейного хранения элементов до ассоциативных структур с поиском по ключу. В этой статье мы кратко рассмотрим основные контейнеры, их внутреннюю организацию и типичные сценарии применения.

    habr.com/ru/articles/974274/

    #структуры_данных #c++ #stl #stl_контейнеры #stl_containers