📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• std::type_identity — предотвращение template argument deduction
• Pointer Tagging в C++ — искусство упаковки битов в указатель
• Какой алгоритм поиска выбрать? — варианты алгоритмов для решения задач по поиску элементов
• Error Handling в C++ — чек-лист для проверки кода на правильность обработки ошибок
🔥 Интересные проекты:
• Sunshine — игровой стриминговый сервис для Moonlight
• Deskflow — бесплатное приложение с открытым исходным кодом для совместного использования клавиатуры и мыши
• Abseil — коллекция C++-кода с открытым исходным кодом (совместимая с C++17), предназначенная для расширения стандартной библиотеки C++.
Библиотека C/C++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• std::type_identity — предотвращение template argument deduction
• Pointer Tagging в C++ — искусство упаковки битов в указатель
• Какой алгоритм поиска выбрать? — варианты алгоритмов для решения задач по поиску элементов
• Error Handling в C++ — чек-лист для проверки кода на правильность обработки ошибок
🔥 Интересные проекты:
• Sunshine — игровой стриминговый сервис для Moonlight
• Deskflow — бесплатное приложение с открытым исходным кодом для совместного использования клавиатуры и мыши
• Abseil — коллекция C++-кода с открытым исходным кодом (совместимая с C++17), предназначенная для расширения стандартной библиотеки C++.
Библиотека C/C++ разработчика
#свежак
❤3👍2
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• Designated Initializers — именованная инициализация из C++20
• std::variant — типобезопасный union
• FuzzTest — Фреймворк для фаззинг-тестирования в C++
• Регулярные выражения в C++ — промпт для написания регулярных выражений
• Почему классический ООП тормозит игровые движки — доклад о проблемах о проблемах связанных с производительностью
🔥 Интересные проекты:
• tile-lang — предметно-ориентированный язык, предназначенный для упрощения разработки высокопроизводительных ядер GPU и CPU
• Audacity — простой в использовании многодорожечный аудиоредактор и рекордер
• Crow — быстрый и простой в использовании микрофреймворк для веба
Библиотека C/C++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• Designated Initializers — именованная инициализация из C++20
• std::variant — типобезопасный union
• FuzzTest — Фреймворк для фаззинг-тестирования в C++
• Регулярные выражения в C++ — промпт для написания регулярных выражений
• Почему классический ООП тормозит игровые движки — доклад о проблемах о проблемах связанных с производительностью
🔥 Интересные проекты:
• tile-lang — предметно-ориентированный язык, предназначенный для упрощения разработки высокопроизводительных ядер GPU и CPU
• Audacity — простой в использовании многодорожечный аудиоредактор и рекордер
• Crow — быстрый и простой в использовании микрофреймворк для веба
Библиотека C/C++ разработчика
#свежак
👍2🥰1
⚙️ C++26 Contract Assertions
C++26 Contract Assertions — это введении нового механизма для проверки корректности программы во время выполнения, которые заменяют традиционные макросы assert более мощным и гибким инструментом.
В документе P3846R0 авторы разбирают ключевые возражений против включения контрактных утверждений в стандарт C++26 и дают подробные ответы на каждое из них.
❗Ключевые моменты документа:
• Contract assertions не делают C++ «менее безопасным» — они позволяют инкрементально улучшать корректность кода
• Возможность настройки семантики проверок (ignore/observe/enforce/quick-enforce) является необходимостью, а не недостатком
• Mixed-mode сборки с разными семантиками контрактов — это неизбежность модели компиляции C++, а не баг в дизайне
Основной фокус — защита функциональности, которая разрабатывалась более 20 лет, и получила реализацию в GCC и Clang.
👉 Драфт с предложениями
Библиотека C/C++ разработчика
#свежак
C++26 Contract Assertions — это введении нового механизма для проверки корректности программы во время выполнения, которые заменяют традиционные макросы assert более мощным и гибким инструментом.
В документе P3846R0 авторы разбирают ключевые возражений против включения контрактных утверждений в стандарт C++26 и дают подробные ответы на каждое из них.
❗Ключевые моменты документа:
• Contract assertions не делают C++ «менее безопасным» — они позволяют инкрементально улучшать корректность кода
• Возможность настройки семантики проверок (ignore/observe/enforce/quick-enforce) является необходимостью, а не недостатком
• Mixed-mode сборки с разными семантиками контрактов — это неизбежность модели компиляции C++, а не баг в дизайне
Основной фокус — защита функциональности, которая разрабатывалась более 20 лет, и получила реализацию в GCC и Clang.
👉 Драфт с предложениями
Библиотека C/C++ разработчика
#свежак
🙏4👍3