#Собес #Cplus
🤔 Какой лучший компилятор для С++?
Лучший компилятор для С++ зависит от конкретных требований проекта, платформы и предпочтений разработчика. Среди популярных компиляторов - Visual C++, Clang, GCC, Intel C++ Compiler и другие.
👉 Новости 👉 База вопросов
Лучший компилятор для С++ зависит от конкретных требований проекта, платформы и предпочтений разработчика. Среди популярных компиляторов - 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, где описан реальный кейс в проде — отличное исследование производственного инцидента.
👉 Новости 👉 База вопросов
Слышал о "ложном разделении" ? Это проблема производительности, возникающая, когда независимые переменные попадают в одну и ту же кэш-линию и одновременно обновляются разными потоками.
Каждое обновление переменной на одном ядре вызывает принудительный сброс всей кэш-линии для других ядер, даже если переменные фактически не разделяются между потоками
Обрати внимание на документацию ядра — там эта тема тоже хорошо раскрыта.
Есть отличное видео, подробно объясняющее механику,
А также крутая статья от 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 мс.
👉 Новости 👉 База вопросов
Поддержка обеих рук · Сглаженные ключевые точки · Отклик 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
👉 Новости 👉 База вопросов
Свежий выпуск 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
👉 Новости 👉 База вопросов
chunk_view
std::ranges::chunk_view (C++23) разбивает диапазон на равные части фиксированной длины. Это полезно для обработки данных блоками, например, при пакетной обработке или генерации батчей.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Может ли функция вернуть несколько значений в C+?
Да, функция может вернуть несколько значений, используя ссылки или указатели как параметры, или возвращая кортеж (tuple) или пару (pair).
👉 Новости 👉 База вопросов
Да, функция может вернуть несколько значений, используя ссылки или указатели как параметры, или возвращая кортеж (tuple) или пару (pair).
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Memory Allocators 101 — пишем простой аллокатор памяти
Эта статья посвящена реализации простого аллокатора памяти на C
Ты напишешь свои версии
👉 Новости 👉 База вопросов
Эта статья посвящена реализации простого аллокатора памяти на C
Ты напишешь свои версии
malloc(), calloc(), realloc() и free()Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #Cplus
🤔 Как включить все библиотеки в С++?
В С++ можно использовать директиву #include для включения необходимых библиотек, но не рекомендуется включать все библиотеки, так как это может привести к увеличению размера программы и конфликтам.
👉 Новости 👉 База вопросов
В С++ можно использовать директиву #include для включения необходимых библиотек, но не рекомендуется включать все библиотеки, так как это может привести к увеличению размера программы и конфликтам.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Исходный код самых ранних версий самого первого компилятора C
В коде видно, насколько синтаксис изменился за эти годы, но простота всё так же сохранена.
Репо - https://github.com/mortdeus/legacy-cc
👉 Новости 👉 База вопросов
В коде видно, насколько синтаксис изменился за эти годы, но простота всё так же сохранена.
Репо - 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
👉 Новости 👉 База вопросов
Ссылка на статью (по которой он руководствовался) —> 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
#полезное
😊 Интересный совет, на который наткнулся :
👉 Новости 👉 База вопросов
Храните адреса кода как обычные данные в C
→ Именно так под капотом работают динамические линковщики, JIT-компиляторы и загрузчики бинарников.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM