This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Hypersomnia - интересный проект для пркатики на C++. Hypersomnia - онлайн-шутер с видом сверху, доступный как бесплатное ПО.
▪ Игра разрабатывается как MMO с RPG элементами.
▪ Версии игры доступны для Windows, GNU/Linux и MacOS и имеют небольшой размер загрузки - только 25 МБ.
В игре представлено множество видов огнестрельного оружия, гранат, оружия ближнего боя и магических заклинаний. Разработчики также включили редактор карт, позволяющий создавать и играть на персонализированных картах со своими друзьями.
▪ Код
@cpluspluc
▪ Игра разрабатывается как MMO с RPG элементами.
▪ Версии игры доступны для Windows, GNU/Linux и MacOS и имеют небольшой размер загрузки - только 25 МБ.
В игре представлено множество видов огнестрельного оружия, гранат, оружия ближнего боя и магических заклинаний. Разработчики также включили редактор карт, позволяющий создавать и играть на персонализированных картах со своими друзьями.
▪ Код
@cpluspluc
👍16❤4🔥2
Параллельный метод сортировки массива std:🧵
Распараллеливание на уровне данных. Принцип "Разделяй и властвуй".
Алгоритмы последовательных сортировок в прямом виде достаточно сложены для распараллеливания. Поэтому прибегают к стратегии «разделяй и властвуй».
Принцип «разделяй и властвуй» является одной из фундаментальных стратегий в разработке параллельных алгоритмов. Он заключается в разбиении задачи на более мелкие подзадачи, решение которых происходит независимо, а затем объединении результатов этих подзадач для получения окончательного результата.
Принцип «разделяй и властвуй» широко применяется в параллельных вычислениях, чтобы увеличить производительность и эффективность выполнения задач. Он основан на идее, что сложную задачу можно эффективно решить, разбив ее на несколько более простых подзадач, которые могут быть выполнены параллельно.
Процесс параллельного распараллеливания «разделяй и властвуй» включает следующие шаги:
Разделение. Исходная задача разбивается на несколько меньших и независимых подзадач. Это может быть сделано путем разделения данных, декомпозиции пространства поиска или другими методами, в зависимости от конкретной задачи.
Властвование. Каждая подзадача решается независимо и параллельно. Каждая подзадача может быть выполнена на своем собственном процессоре, ядре или узле в вычислительном кластере.
Объединение. Результаты выполнения подзадач объединяются для получения окончательного результата. Этот шаг может включать слияние данных, комбинирование результатов или другие операции, в зависимости от характера задачи.
Принцип «разделяй и властвуй» позволяет распараллелить задачи, которые имеют хорошо определенную структуру и могут быть разбиты на независимые подзадачи. Он обеспечивает возможность эффективного использования параллельных вычислительных ресурсов и ускоряет выполнение задач, особенно для больших объемов данных или вычислительно сложных алгоритмов.
▪Читать дальше
@cpluspluc
Распараллеливание на уровне данных. Принцип "Разделяй и властвуй".
Алгоритмы последовательных сортировок в прямом виде достаточно сложены для распараллеливания. Поэтому прибегают к стратегии «разделяй и властвуй».
Принцип «разделяй и властвуй» является одной из фундаментальных стратегий в разработке параллельных алгоритмов. Он заключается в разбиении задачи на более мелкие подзадачи, решение которых происходит независимо, а затем объединении результатов этих подзадач для получения окончательного результата.
Принцип «разделяй и властвуй» широко применяется в параллельных вычислениях, чтобы увеличить производительность и эффективность выполнения задач. Он основан на идее, что сложную задачу можно эффективно решить, разбив ее на несколько более простых подзадач, которые могут быть выполнены параллельно.
Процесс параллельного распараллеливания «разделяй и властвуй» включает следующие шаги:
Разделение. Исходная задача разбивается на несколько меньших и независимых подзадач. Это может быть сделано путем разделения данных, декомпозиции пространства поиска или другими методами, в зависимости от конкретной задачи.
Властвование. Каждая подзадача решается независимо и параллельно. Каждая подзадача может быть выполнена на своем собственном процессоре, ядре или узле в вычислительном кластере.
Объединение. Результаты выполнения подзадач объединяются для получения окончательного результата. Этот шаг может включать слияние данных, комбинирование результатов или другие операции, в зависимости от характера задачи.
Принцип «разделяй и властвуй» позволяет распараллелить задачи, которые имеют хорошо определенную структуру и могут быть разбиты на независимые подзадачи. Он обеспечивает возможность эффективного использования параллельных вычислительных ресурсов и ускоряет выполнение задач, особенно для больших объемов данных или вычислительно сложных алгоритмов.
▪Читать дальше
@cpluspluc
👍13🔥4❤2👌1
📌 Что выведет код ?
▪Ответ
▪Деструкторы в С++
В приведенной выше программе id - статическая переменная, и она увеличивается при каждом создании объекта. Объект a[0] создается первым, но первым уничтожается объект a[2]. Объекты всегда уничтожаются в порядке, обратном их созданию. Причина обратного порядка заключается в том, что объект, созданный позже, может использовать ранее созданный объект.
@cpluspluc
#include <iostream>
using namespace std;
class A
{
int id;
static int count;
public:
A() {
count++;
id = count;
cout << "constructor for id " << id << endl;
}
~A() {
cout << "destructor for id " << id << endl;
}
};
int A::count = 0;
int main() {
A a[3];
return 0;
}
▪Ответ
▪Деструкторы в С++
@cpluspluc
👍20🔥5❤2👎1
Media is too big
VIEW IN TELEGRAM
🔥 Отличный курс по ООП в С++: шаблоны и метапрограммирование
00:00 - Введение
02:12 - Внутреннее устройство шаблонов
03:55 - Явная специализация
06:25 - Частичная специализация
08:04 - Перегрузка и шаблоны
09:02 - Статический полиморфизм (CRTP)
12:40 - Шиблонный синглтон (CRTP)
17:57 - Основы метапрограммирования
22:17 - Заключение
🎞 Видео
#cpp #код
@cpluspluc
00:00 - Введение
02:12 - Внутреннее устройство шаблонов
03:55 - Явная специализация
06:25 - Частичная специализация
08:04 - Перегрузка и шаблоны
09:02 - Статический полиморфизм (CRTP)
12:40 - Шиблонный синглтон (CRTP)
17:57 - Основы метапрограммирования
22:17 - Заключение
#cpp #код
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥6🎄2❤1
Media is too big
VIEW IN TELEGRAM
В докладе проиллюстрированы возможности современного C++, которые мы применяем в production-коде.
- Контейнеры, диапазоны, алгоритмы
- Смарт-пойнтеры, optional, variant
- Поддержка функциональной парадигмы программирования
#cpp #код
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2❤1😐1
Как два байта переслать: контрибьютим в KPHP
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
План
1. Подготовка
2. runtime
• добавление функций
• типы
• флаги
• изменение подключаемых библиотек
3. Тесты
• cpp тесты
• php тесты
4. pull_request
Подготовка
Устанавливаем kphp из репозитория
runtime
Добавление функций
В качестве примера возьмем ситуацию, когда нам нужно реализовать функцию mb_check_encoding из php. Первым делом идем в доки (*изображение)
Узнаем, что функция проверяет кодировку строки или массива строк. Массив строк обрабатывается рекурсивно, так что сфокусируемся на функции, работающей для строки.
Теперь идем в код php смотреть как работает функция в php:
📌Продолжение
@cpluspluc
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
План
1. Подготовка
2. runtime
• добавление функций
• типы
• флаги
• изменение подключаемых библиотек
3. Тесты
• cpp тесты
• php тесты
4. pull_request
Подготовка
Устанавливаем kphp из репозитория
runtime
Добавление функций
В качестве примера возьмем ситуацию, когда нам нужно реализовать функцию mb_check_encoding из php. Первым делом идем в доки (*изображение)
Узнаем, что функция проверяет кодировку строки или массива строк. Массив строк обрабатывается рекурсивно, так что сфокусируемся на функции, работающей для строки.
Теперь идем в код php смотреть как работает функция в php:
📌Продолжение
@cpluspluc
👍10🔥4❤2🎉1
Лучший способ получать свежие обновлении и следить за трендами в разработке.
Python: t.me/pythonl
C#: t.me/csharp_ci
C/C++/ t.me/cpluscsharp
Машинное обучение: t.me/ai_machinelearning_big_data
Data Science: t.me/data_analysis_ml
Devops: t.me/devOPSitsec
Go: t.me/Golang_google
Базы данных: t.me/sqlhub
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Хакинг: t.me/linuxkalii
Java: t.me/javatg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
🇬🇧Английский: t.me/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤1🤡1
📌 Простые программы на C++
На этом уроке мы напишем пару простейших программ на C++ и посмотрим, как происходит их компиляция.
📌 Знакомство с SFML. Компьютерная графика.
SFML (Simple Fast Multimedia Library) — это C++ библиотека для мультимедиа. В статье мы воспользуемся SFML для рисования фигур в окне.
📌 Основной цикл программы. Анимация.
На уроке мы освоим паттерн Game Loop, а также научимся обрабатывать события мыши и клавиатуры.
📌 Обработка событий. Интерактив.
На уроке вы освоите обработку событий мыши и клавиатуры в мультимедийных программах и научитесь писать функции на языке С++
📌 Соглашения о кодировании на C++
Соглашения о кодировании для курса по C++/SFML
📌 Комплексные задачи. Котик следует за мышкой
В этой практике вы начнёте по шагам решать комплексные задачи, двигаясь от математической модели и псевдокода к готовой программе
📌 Массовые столкновения
На этом занятии вы научитесь программировать игры уровня Бильярда или Arkanoid
📌 Ещё одна практика на SFML
На этом занятии вы освоите более гибкие приёмы работы с SFML: виртуальную камеру, рисование произвольных фигур, проверку столкновения
📌 Основной проект курса: 2D игра
Цель проекта - самостоятельно написать комплексную программу, клон небольшой игры
📌 Задание | Спецификация проекта в виде MindMap
Чтобы составить видение проекта-игры, нужно визуализировать. Сделать это поможет MindMap.
📌 Задание | План проекта в виде RoadMap
Чтобы справиться с известным проектом в известные сроки, нужно составить план действий. Сделать это поможет RoadMap.
📌 Пишем клон игры PacMan слой за слоем
В этой коллекции примеров слой за слоем на C++/SFML воссоздаётся урезанный клон игры PacMan
📌 Схема оценки проекта-игры
В таблице записаны критерии оценки и примеры оценивания различных игр
📌 Герои Кода и Магии: анализ игрового движка VCMI
VCMI Project – игровой движок с открытым исходным кодом для Героев Меча и Магии 3. Движок VCMI является кроссплатформенным и работает на устройствах под управлением Windows, Linux, Android, macOS и iOS.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍4❤3🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡ Основные алгоритмы на графах
Рассмотрим основные алгоритмы на графах и их реализацию на C++.
Рассматриваемые алгоритмы
▪Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search
▪Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search
▪Алгоритм Дейкстры
▪Алгоритм Флойда-Уоршелла
▪Алгоритм Прима
📌Статья
@cpluspluc
Рассмотрим основные алгоритмы на графах и их реализацию на C++.
Рассматриваемые алгоритмы
▪Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search
▪Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search
▪Алгоритм Дейкстры
▪Алгоритм Флойда-Уоршелла
▪Алгоритм Прима
📌Статья
@cpluspluc
👍15🔥3❤2🤮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
⚡️️ Новости и релизы
▪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