C/C++ Development | YeaHub – Telegram
C/C++ Development | YeaHub
824 subscribers
228 photos
56 videos
1 file
378 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😊 std::default_sentinel

std::default_sentinel (C++20) представляет универсальный конец диапазона и используется с пользовательскими итераторами и ranges. Это полезно для создания "открытых" и ленивых представлений данных.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😇 Динамический JSON в C

Минимальный и понятный API.

Нет внешних зависимостей.

Поддерживает object, array, number, string, bool, null
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Cplus
🤔 Какой лучший компилятор для С++?

Лучший компилятор для С++ зависит от конкретных требований проекта, платформы и предпочтений разработчика. Среди популярных компиляторов - Visual C++, Clang, GCC, Intel C++ Compiler и другие.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Ядра CPU, кэш-линии и ложное разделение

Слышал о "ложном разделении" ? Это проблема производительности, возникающая, когда независимые переменные попадают в одну и ту же кэш-линию и одновременно обновляются разными потоками.

Каждое обновление переменной на одном ядре вызывает принудительный сброс всей кэш-линии для других ядер, даже если переменные фактически не разделяются между потоками

Обрати внимание на документацию ядра — там эта тема тоже хорошо раскрыта.

Есть отличное видео, подробно объясняющее механику,

А также крутая статья от Netflix Engineering, где описан реальный кейс в проде — отличное исследование производственного инцидента.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 std::unexpected

std::unexpected (устаревший в C++17, но интересный исторически) используется для установки обработчика непредусмотренных исключений, выбрасываемых функциями с noexcept(false) или throw()-спецификацией. Полезно для отладки и контроля исключений в старом коде.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Что такое выражение в С++?

В С++ выражение - это единица кода, которая может быть оценена до какого-либо значения. Оно может содержать переменные, константы, операторы и функции, которые в совокупности дают результат.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 Отслеживание рук в реальном времени с помощью AI на C++ и raylib, используя Google MediaPipe (сборка C API, без Python).

Поддержка обеих рук · Сглаженные ключевые точки · Отклик CPU — 20–25 мс.

Собрать MediaPipe под C/C++ было непросто, но всё работает.

Довольно впечатляет, когда осознаёшь, что весь модуль детекции рук, скомпилированный как C API, весит меньше 8 МБ. Сам модельный файл — около 7 МБ.
Ещё круче то, что всё работает целиком на CPU.
С включённым GPU в игровом движке можно ожидать ещё более высокую производительность.


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
🤯 Параллелизм в WebAssembly / эксперименты в браузере и за его пределами

Свежий выпуск ACM Queue посвящён текущим ограничениям и будущим направлениям развития параллелизма в WebAssembly. Oбязательное чтиво для всех, кто интересуется многопоточностью и производительностью в браузере.

https://dl.acm.org/doi/pdf/10.1145/3747201.3746173

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😱 std::ranges::
chunk_view


std::ranges::chunk_view (C++23) разбивает диапазон на равные части фиксированной длины. Это полезно для обработки данных блоками, например, при пакетной обработке или генерации батчей.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Может ли функция вернуть несколько значений в C+?

Да, функция может вернуть несколько значений, используя ссылки или указатели как параметры, или возвращая кортеж (tuple) или пару (pair).

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Memory Allocators 101 — пишем простой аллокатор памяти

Эта статья посвящена реализации простого аллокатора памяти на C

Ты напишешь свои версии malloc(), calloc(), realloc() и free()

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядное сравнение скорости обращения к различным уровням кэша и к памяти

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Он в безопасности от ИИ.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
#Собес #Cplus
🤔 Как включить все библиотеки в С++?

В С++ можно использовать директиву #include для включения необходимых библиотек, но не рекомендуется включать все библиотеки, так как это может привести к увеличению размера программы и конфликтам.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Исходный код самых ранних версий самого первого компилятора C

В коде видно, насколько синтаксис изменился за эти годы, но простота всё так же сохранена.

Репо - https://github.com/mortdeus/legacy-cc

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 std::ssize

std::ssize возвращает знаковый размер контейнера. Это полезно при итерации, когда нужно безопасно использовать индексы в виде int, а не size_t, особенно в циклах с отрицательными смещениями или сравнением с -1.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😐 Один парень реализовал алгоритм Ву — это алгоритм рисования линий и окружностей, предложенный в 1991 году для борьбы с эффектами сглаживания

Ссылка на статью (по которой он руководствовался) —> https://leetarxiv.substack.com/p/an-efficient-anti-aliasing-technique

Вот GitHub: https://github.com/MurageKibicho/Wu-s-Line-and-Circle-Drawing-Algorithm

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#Собес #Cplus
🤔 Какие операторы можно перегружать в С++?

В С++ можно перегружать множество операторов, таких как арифметические, операторы сравнения, инкремента/декремента, логические операторы и другие, кроме некоторых, например, оператора разрешения области видимости.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM