🔥C++ Дайджест
⚡️️ Новости и релизы
▪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 и другие изменения.
📝 Статьи
▪Базовые алгоритмы на графах — Обзор самых популярных графовых алгоритмов с рассмотрением их реализации на C++.
▪Дизайн 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, значительно упрощающего конфигурирование и сборку проектов.
📺 Видео
▪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.
@cpluspluc
⚡️️ Новости и релизы
▪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 и другие изменения.
📝 Статьи
▪Базовые алгоритмы на графах — Обзор самых популярных графовых алгоритмов с рассмотрением их реализации на C++.
▪Дизайн 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, значительно упрощающего конфигурирование и сборку проектов.
📺 Видео
▪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.
@cpluspluc
👍16❤4🔥2
Media is too big
VIEW IN TELEGRAM
Mock-собеседование С++ разработчика из Яндекс
00:00 - Введение
00:10 - Запрет создания объектов в куче в С++
01:52 - Ограничение кол-ва создаваемых объектов в С++
04:47 - Перегрузка операторов в С++
06:13 - Взаимодействие С и С++
11:42 - Строки в С++
15:31 - Исключения в С++
17:18 - Исключение в конструкторе и деструкторе в С++
21:21 - Проброс исключения из другого потока в С++
22:34 - Умные указатели в С++
25:38 - Утечки памяти с умными указателями в С++
29:09 - Контейнеры в С++
32:15 - Заключение
📌 источник
@cpluspluc
00:00 - Введение
00:10 - Запрет создания объектов в куче в С++
01:52 - Ограничение кол-ва создаваемых объектов в С++
04:47 - Перегрузка операторов в С++
06:13 - Взаимодействие С и С++
11:42 - Строки в С++
15:31 - Исключения в С++
17:18 - Исключение в конструкторе и деструкторе в С++
21:21 - Проброс исключения из другого потока в С++
22:34 - Умные указатели в С++
25:38 - Утечки памяти с умными указателями в С++
29:09 - Контейнеры в С++
32:15 - Заключение
📌 источник
@cpluspluc
🔥16❤6👍6👎3
Cplusplus
cplusplus.com/doc/tutorial — это популярная платформа с руководствами и уроками, которые объясняют язык C++ от его основ до новейших функций.Главы имеют практическую направленность с примерами кода во всех разделах, чтобы сразу начать практиковать то, что объясняется.
#cpp
@cpluspluc
cplusplus.com/doc/tutorial — это популярная платформа с руководствами и уроками, которые объясняют язык C++ от его основ до новейших функций.Главы имеют практическую направленность с примерами кода во всех разделах, чтобы сразу начать практиковать то, что объясняется.
#cpp
@cpluspluc
❤21👍13🔥4
🟡 Дайджест полезных материалов из мира C++ за неделю
Почитать:
— Определение области коллизии
— Seastar как платформа для опорной сети 5G и краткое сравнение с Boost.Asio, userver и другими
— Список популярных утечек с GitHub: Анализ репозиториев компаний
— Выжимаем ATtiny10, практическое применение
— Buran Motion Planning Framework
— Правильный if для ускорения работы
— C++ Дайджест #0 (24 июля 2023 – 6 августа 2023)
— Импортозамещаем numpy, pandas, scipy и sklearn
— Yet another UDP transport
— C++: чем CRTP лучше Шаблонного Метода?
— Делегирование для ООП (Design Patterns) и самый эффективный способ взаимодействия объектов
— Felt Cute, Might git rm --rf
— Day2-#100DaysOfCoding Challenge Update
— Marshal Class in Service Oriented Architecture C++
— My 1st Day of #100DaysCoding Challenge- Journey Begins!!
— A Beginners Guide: Polymorphism, Virtual Functions, and Abstract Classes With C++
— 🕹 7 Top Online Resources to Learn C++
— Why does the indexing of array start with ZERO in C?
— Interacting with the Hatch Action
— Interacting with Our NFTs
— Using AtomicAssets in a Smart Contract
Посмотреть:
🌐Собеседование Middle C++
Хорошего дня!
@cpluspluc
Почитать:
— Определение области коллизии
— Seastar как платформа для опорной сети 5G и краткое сравнение с Boost.Asio, userver и другими
— Список популярных утечек с GitHub: Анализ репозиториев компаний
— Выжимаем ATtiny10, практическое применение
— Buran Motion Planning Framework
— Правильный if для ускорения работы
— C++ Дайджест #0 (24 июля 2023 – 6 августа 2023)
— Импортозамещаем numpy, pandas, scipy и sklearn
— Yet another UDP transport
— C++: чем CRTP лучше Шаблонного Метода?
— Делегирование для ООП (Design Patterns) и самый эффективный способ взаимодействия объектов
— Felt Cute, Might git rm --rf
— Day2-#100DaysOfCoding Challenge Update
— Marshal Class in Service Oriented Architecture C++
— My 1st Day of #100DaysCoding Challenge- Journey Begins!!
— A Beginners Guide: Polymorphism, Virtual Functions, and Abstract Classes With C++
— 🕹 7 Top Online Resources to Learn C++
— Why does the indexing of array start with ZERO in C?
— Interacting with the Hatch Action
— Interacting with Our NFTs
— Using AtomicAssets in a Smart Contract
Посмотреть:
🌐Собеседование Middle C++
Хорошего дня!
@cpluspluc
👍9🔥7❤2
Media is too big
VIEW IN TELEGRAM
Собеседование Middle 🖥
Тренировочное собеседование
на позицию Middle C++ Developer.
📌Источник
#cpp #programming #video
@cpluspluc
Тренировочное собеседование
на позицию Middle C++ Developer.
📌Источник
#cpp #programming #video
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4❤2🤔1
На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++:
▪улучшенный static_assert,
▪переменная _,
▪оптимизация и улучшение для std::to_string,
▪Hazard Pointer,
▪Read-Copy-Update (так же известное как RCU),
▪native_handle(),
▪целая вереница классов *function*,
▪множество доработок по constexpr,
std::submdspan,
▪и прочие приятные мелочи.
📌Видео конференция
📌Статья
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤4⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
🐊Ghidralligator
Мультиархитектурный эмулятор pcode на языке C++, основанный на Ghidra и предназначенный для фаззинга.
Фаззинг (англ. fuzzing) — техника тестирования программного обеспечения, часто автоматическая или полуавтоматическая, заключающаяся в передаче приложению на вход неправильных, неожиданных или случайных данных.
Предметом интереса являются падения и зависания, нарушения внутренней логики и проверок в коде приложения, утечки памяти, вызванные такими данными на входе.
Фаззинг является разновидностью выборочного тестирования (random testing), часто используемого для проверки проблем безопасности в программном обеспечении и компьютерных системах.
Он позволяет выполнять фаззинг на основе эмуляции, сохраняя любые характеристики при работе с двоичными файлами, работающими на экзотических архитектурах.
▪GitHub
▪Документация
@cpluspluc
Мультиархитектурный эмулятор pcode на языке C++, основанный на Ghidra и предназначенный для фаззинга.
Фаззинг (англ. fuzzing) — техника тестирования программного обеспечения, часто автоматическая или полуавтоматическая, заключающаяся в передаче приложению на вход неправильных, неожиданных или случайных данных.
Предметом интереса являются падения и зависания, нарушения внутренней логики и проверок в коде приложения, утечки памяти, вызванные такими данными на входе.
Фаззинг является разновидностью выборочного тестирования (random testing), часто используемого для проверки проблем безопасности в программном обеспечении и компьютерных системах.
Он позволяет выполнять фаззинг на основе эмуляции, сохраняя любые характеристики при работе с двоичными файлами, работающими на экзотических архитектурах.
git clone https://github.com/AFLplusplus/AFLplusplus
cd AFLplusplus
make distrib
sudo make install
▪GitHub
▪Документация
@cpluspluc
👍8❤2🔥2
Media is too big
VIEW IN TELEGRAM
00:00 - Введение
02:07 - Общие вопросы на собеседовании по С++
03:46 - Стандартная библиотека С++
06:53 - Указатели в С++
07:51 - Виртуальность в С++
09:51 - Шаблоны в С++
11:52 - Заключение
📌 Источник
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥3🙏2👀2👏1
10 примеров кода на языке Си++ для решения повседневных задач программирования
1. Найти размер вектора
2. Перемешивание массива
3. Поменять местами две переменные в C++
4. Найти сумму цифр
5. Копирование вектора в другой вектор
6. Нахождение максимального и минимального элементов массива
7. Вставить элементов в множество
8. Удаление дубликатов из строки
9. Нахождение длины строки
10. Итерация по вектору
#junior #код #cpp
@cpluspluc
1. Найти размер вектора
2. Перемешивание массива
3. Поменять местами две переменные в C++
4. Найти сумму цифр
5. Копирование вектора в другой вектор
6. Нахождение максимального и минимального элементов массива
7. Вставить элементов в множество
8. Удаление дубликатов из строки
9. Нахождение длины строки
10. Итерация по вектору
#junior #код #cpp
@cpluspluc
👍26🤣16❤8👎4🔥4😱2🤡1
Сложность: Средняя
Условие задачи:
Даны два неотрицательных целых числа num1 и num2, представленные в виде строк, вернуть произведение num1 и num2, также представленное в виде строки.
Примечание. Вы не должны использовать какую-либо встроенную библиотеку BigInteger или напрямую преобразовывать входные данные в целое число.
Пример:
Ввод:
num1 = "2", num2 = "3"
Вывод: "6"
Ввод: num1 = "123", num2 = "456"
Вывод: "56088"
📌РешениеПишите свое решение в комментариях👇
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤡10❤3🔥3😭2👎1👏1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
✓ 01. Создаём FPS-проект на С++
✓ 02. Рефакторинг персонажа по умолчанию
✓ 03. Рефакторим делегаты
✓ 04. Рефакторинг компонента оружия
✓ 05. Добавим наборы оружия
✓ 06. Создаём оружие
✓ 07. Взаимодействие с предметами
✓ 08. Подбираем оружие
✓ 09. Добавим персонажа Mixamo
✓ 10. Аттачим оружие к персонажу
🚀 Источник
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍10❤7