C++ Academy
16.5K subscribers
627 photos
127 videos
1 file
585 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Основные алгоритмы на графах

Рассмотрим основные алгоритмы на графах и их реализацию на C++.

Рассматриваемые алгоритмы

Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search
Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search
Алгоритм Дейкстры
Алгоритм Флойда-Уоршелла
Алгоритм Прима

📌Статья

@cpluspluc
👍15🔥32🤮1
🔥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
👍164🔥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
🔥166👍6👎3
Cplusplus

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
👍9🔥72
Media is too big
VIEW IN TELEGRAM
Собеседование Middle 🖥

Тренировочное собеседование
на позицию Middle C++ Developer.

📌Источник

#cpp #programming #video

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥42🤔1
🖥 Первые новинки C++26: итоги летней встречи ISO

На недавней встрече комитет 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🔥641
This media is not supported in your browser
VIEW IN TELEGRAM
🐊Ghidralligator

Мультиархитектурный эмулятор pcode на языке C++, основанный на Ghidra и предназначенный для фаззинга.

Фаззинг (англ. fuzzing) — техника тестирования программного обеспечения, часто автоматическая или полуавтоматическая, заключающаяся в передаче приложению на вход неправильных, неожиданных или случайных данных.

Предметом интереса являются падения и зависания, нарушения внутренней логики и проверок в коде приложения, утечки памяти, вызванные такими данными на входе.

Фаззинг является разновидностью выборочного тестирования (random testing), часто используемого для проверки проблем безопасности в программном обеспечении и компьютерных системах.

Он позволяет выполнять фаззинг на основе эмуляции, сохраняя любые характеристики при работе с двоичными файлами, работающими на экзотических архитектурах.

git clone https://github.com/AFLplusplus/AFLplusplus
cd AFLplusplus
make distrib
sudo make install


GitHub
Документация

@cpluspluc
👍82🔥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
👍133🔥3🙏2👀2👏1
10 примеров кода на языке Си++ для решения повседневных задач программирования

1. Найти размер вектора

2. Перемешивание массива

3. Поменять местами две переменные в C++

4. Найти сумму цифр

5. Копирование вектора в другой вектор

6. Нахождение максимального и минимального элементов массива

7. Вставить элементов в множество

8. Удаление дубликатов из строки

9. Нахождение длины строки

10. Итерация по вектору

#junior #код #cpp

@cpluspluc
👍26🤣168👎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🤡103🔥3😭2👎1👏1