Привет, Хабр! Сегодня я хочу представить вам подборку интересных новостей и материалов из мира C++.
Это пилотный выпуск, так что любые советы, отзывы и рекомендации, как сделать наш дайджест лучше, в комментариях к статье или же напрямую мне в личные сообщения (habr, tg) приветствуются!
Приятного чтения!
⚡️️ Новости и релизы
vcpkg 2023.06.20, 2023.07.21 — Добавление поддержки интеграции с GitHub dependency graph, улучшение поддержки Xbox, другие улучшения и багфиксы.
CLion 2023.2 — Обновление встроенных дебаггеров, улучшение интеграции с PlatformIO, добавление AI Assistant и многое другое.
ReSharper C++ 2023.2 — Добавление AI Assistant, поддержки C++20 и C++23, операции безопасного удаления, улучшенная поддержка Unreal Engine Blueprints и другое.
Dear ImGui 1.89.8 — Небольшие изменения, багфиксы и новые демонстрационные примеры программ.
Godot 4.2 dev 2 — Добавление поддержки OpenXR API, отладки мультипоточного кода в дебаггере скриптов, багфиксы и прочее.
GCC 13.2 — Багфиксы и устранение регрессий относительно прошлых релизов.
mold 2.0.0 — Изменение лицензии с APGL на MIT и другие изменения.
???? Статьи
???????? Habr: Базовые алгоритмы на графах — Обзор самых популярных графовых алгоритмов с рассмотрением их реализации на C++.
???????? Habr: Дизайн API в С++ — О правилах проектирования хороших API с рассмотрением множества примеров их практического применения.
Andreas Fertig: A strongly typed bool — Практический пример использования одного из популярных паттернов программирования, strong types, для улучшения читабельности кода и предохранения от ошибок.
Bartlomiej Filipek: Understanding Ranges Views and View Adaptors Objects in C++20/C++23 — О различиях между views и view adaptors objects в C++20 и C++23, с рассмотрением их реалзиации в MSVC's STL.
Jonathan Boccara: Usage First, Implementation After: A Principle of Software Development — О подходе к разработке через
тестированиеиспользование, и какие преимущества он может дать.Jonathan Müller: Should we stop writing functions? — Обзор недостатков функций и преимуществ лямбд: может, функции нам больше и не нужны?
Rainer Grimm: C++23: Syntactic Sugar with Deducing This — О том, как Deducing this, нововведение C++23, устраняет необходимость в использовании Curiously Recurring Template Pattern.
Rainer Grimm: C++23: The Small Pearls in the Core Language — О небольших, но полезных нововведениях в C++23, таких как literal suffixes, if consteval и auto(x).
Raymond Chen: Perfect forwarding forwards objects, not braced things that are trying to become objects — Заметка об особенностях работы perfect forwarding.
Raymond Chen: Inside STL: The pair and the compressed pair, Inside STL: The vector, Inside STL: The string, Inside STL: The lists — Серия статей, рассматривающая особенности реализации популярных классов стандартной библиотеки в ее реализациях от clang, gcc и msvc.
Sandor Dargo: C++23: static operator() and static operator[] — Обзор двух нововведений C++23, статических operator() и operator[].
Izzy Muerte: Everything You Never Wanted to Know About CMake — О некоторых полезных трюках с использованием современного CMake.
Martin Bond: CMake Presets — Обзор cmake-presets, нововведения CMake 3.19, значительно упрощающего конфигурирование и сборку проектов.
Daniel Lemire: Decoding base16 sequences quickly — Обзор быстрого алгоритма декодирования base16, основанного на векторизации с использованием SSE2 и SSE3 инструкций.
???? Видео
Jason Turner: C++ Weekly - Ep 386 - C++23's Lambda Attributes — Обзор одного из нововведений C++23, возможности навешивания аттрибутов на лямбды, и о том, какие вообще полезные аттрибуты существуют.
Jason Turner: C++ Weekly - SE - Interview with Stephen Berry - ODE's, Physics, constexpr, High Performance C++
Jason Turner: C++ Weekly - Ep 387 - My Customized C++ Programming Keyboard! — Обзор самодельной клавиатуры, позволяющей набирать const, constexpr и прочие ключевые слова с недостижимой ранее скоростью.
The Cherno: Instant Messaging App in C++ // Code Review — Код-ревью простенького чатика, написанного самим же автором видео.
????️Подкасты
CppCast: Episode 366, How CLion works under the hood — Об особенностях внутренней машинерии CLion: парсеров, семантических анализаторов и прочего, вдыхающей жизнь в весь продукт.
Algorithms + Data Structures = Programs: Episode 140: ???????? CppNorth Live ???????? Victor Ciura, Andreas Weis & More!, Episode 141: ???????? CppNorth Live ???????? Kate Gregory, Jessica Kerr & Kristen Shaker! — Интервью с полей недавно прошедшей конференции CppNorth.
Дайджест составлен и опубликован при поддержке московского сообщества программистов C++ Moscow
Комментарии (2)
sena
06.08.2023 16:15-3Это пилотный выпуск, так что любые советы, отзывы и рекомендации, как сделать наш дайджест лучше, в комментариях к статье
Ну раз про релизы IDE для C++ пишете, надо было и про Emacs новый написать. Как раз стабильный релиз 29 ветки вышел.
Sazonov
Интересно, как в vcpkg происходит переход триплетов из community в official? До сих пор маки на армах официально не собираются. Как и нет триплета для universal билдов.