C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
2 109 подписчиков · @cpp_lib
К каналу →
Как правильно вызывать CUDA Вероятно, вам уже попадались подобные руководства по CUDA: хрестоматийный пример «Hello World», в котором перемешан код для ЦП и графического процессор…
Читать далее →
964
Оптимизация GUI на Qt Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, н…
Читать далее →
777

Динамический полиморфизм против std::variant с указателями: Разрушаем мифы о скорости std::visit (v.

Динамический полиморфизм против std::variant с указателями: Разрушаем мифы о скорости std::visit (v.2*)

В экосистеме современного C++ прочно укоренилось мнение: классический динамический полиморфизм через виртуальные функции (vtable) и наследование — это устаревший, медленный и недружелюбный к кэшу процессора механизм. В качестве «серебряной пули» модно предлагать связку std::variant и std::visit. Если вы спросите любого виртуального умника (ИИ) он до последнего будет убеждать вас что std::variant и std::visit всегда(!) лучше чем виртуальные функции, даже не сомневайтесь. Проблема в том что с таким отношением вы во многих случаях просто лишаете себя выбора адекватного технического решения. Решения адекватного условиям конкретной задачи с необходимостью диспетчеризации вызовов. По интернету кочуют статьи, утверждающие, что std::visit выполняет диспетчеризацию за фиксированное время O(1) и полностью уничтожает старый добрый ООП-подход, но вы должны понимать что не существует универсальных решений на все случаи жизни.

https://habr.com/ru/articles/1047930/

#cpp #programming

👉 @cpp_lib
Слушайте подкаст про защиту персональных данных. Специалисты рассказывают про аудит, документацию и требования регуляторов: 152-ФЗ, 1119-ПП, 21 приказ ФСТЭК России, ГОСТ 51583-2014…
Читать далее →
364
Почему функции rand и lrand48 из glibc годятся только для Тетриса: о случайных числах всерьёз Функцию rand из стандартной библиотеки языка Си для генерации псевдослучайных чисел, …
Читать далее →
374
Другие главы канала «C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 18.06.2026
Почему функции rand и lrand48 из glibc годятся только для Тетриса: о случайных ч…
👁 374 просмотров
Глава от 18.06.2026
Слушайте подкаст про защиту персональных данных. Специалисты рассказывают про ау…
👁 364 просмотров
Глава от 15.06.2026
Оптимизация GUI на Qt Как правило, при создании desktop-приложений на платформе…
👁 777 просмотров
Глава от 11.06.2026
Как правильно вызывать CUDA Вероятно, вам уже попадались подобные руководства п…
👁 964 просмотров
Глава от 10.06.2026
Data-Parallel Types: алгоритмы (C++26) Библиотека «data-parallel types» для SIM…
👁 965 просмотров
Глава от 08.06.2026
Подход к реализации постоянных параметров шаблонов через библиотеку Ранее эти п…
👁 1 118 просмотров
Глава от 07.06.2026
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 ht…
👁 1 116 просмотров
Глава от 05.06.2026
Универсальная С++ фабрика объектов: для Qt и не только Меня зовут Михаил Полука…
👁 1 376 просмотров
Глава от 04.06.2026
🛡️ Clang Hardening Cheat Sheet: 10 лет спустя Ровно 10 лет назад ребята из Quar…
👁 1 358 просмотров

Популярные посты канала «C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.»

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 8 657 просмотров
QML и Widgets в одном проекте: решение без костылей Разработка приложения для настольных или встраиваемых платформ часто упирается в выбор …
👁 8 609 просмотров
Веселье с type erasure: делаем обертку с семантикой значения для полиморфных типов. Павел Новиков Цель доклада — познакомить с подноготной…
👁 8 557 просмотров
Пишем игру для NES на C Всем привет. Я Даг. Добро пожаловать в мой учебник - Как запрограммировать игру NES на C. Вы можете сделать оригина…
👁 8 557 просмотров
Коллекция библиотек и фреймворков для C++ Список удивительных фреймворков, библиотек, ресурсов и блестящих вещей на C++ (или C). Вдохновлен…
👁 8 537 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 8 521 просмотров
О векторном вычислении экспоненциальной функции Однажды передо мной встала задача векторизовать функцию вычисления экспоненты. Неожиданно о…
👁 8 515 просмотров
Практика языка C. Константин Владимиров. На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульны…
👁 8 501 просмотров
🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀 В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать …
👁 8 452 просмотров
Преобразование JSON в объекты C++ на этапе компиляции: демонстрация возможностей принятой в C++26 рефлексии https://brevzin.github.io/c++/2…
👁 8 395 просмотров
Контракты для С++ Тимур Думлер Контрактное программирование — эффективный подход к написанию более безопасных и корректных программ. Он был…
👁 8 380 просмотров
Как в 19 лет я начал путь разработчика встраиваемого ПО Привет! Меня зовут Данила, мне 21 год, и за последние 2,5 года я успел поработать в…
👁 8 362 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 8 355 просмотров
⚠️ Можно знать алгоритмы машинного обучения и всё равно получать плохие результаты. Большинство проблем моделей начинаются с некачественной …
👁 8 302 просмотров
Подход к реализации постоянных параметров шаблонов через библиотеку Ранее эти параметры шаблонов назывались нетиповыми параметрами шаблонов…
👁 8 292 просмотров
Константин Владимиров — О денотации: разрешение имен и его пересмотр в C++23 Этот доклад — попытка сделать темную и мрачную область разреше…
👁 8 288 просмотров
Оптимизация GUI на Qt Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GU…
👁 8 273 просмотров
Продвинутое использование препроцессора в C и C++ Зачастую, в проектах ограничивается использование препроцессора по следующим причинам: —…
👁 8 267 просмотров
Долг оптимизацией красен: как мы в МойОфис объединили борьбу с легаси и увеличение производительности таблиц Ещё Достоевский на примере сво…
👁 8 262 просмотров
MemorySanitizer (MSAN), когда он нужен и как внедрять По разным оценкам, до 10% уязвимостей в коде на C и C++ являются следствием использов…
👁 8 251 просмотров

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
AntiCloudMod — сообщество для тех, кто ценит свободу общения без облачной цензуры. Здесь обсуждают альтернативные мессенджеры, инструменты для приватности и децентрализов…
👥 374 530 · +72 010/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 154 535 · +9 611/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 139 015 · +8 615/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 83 452 · +19 363/7д
@hitech
Hi-Tech
Оперативные новости, обзоры гаджетов, собственное видео, трансляции мировых анонсов и мероприятий По вопросам сотрудничества и размещения рекламы i.ostapenko@corp.mail.r…
👥 53 201 · -182/7д
@na_kruchok
ГЛЕНТ | МЕМЫ
Глент мемы Это фан-сообщество, созданное преданными поклонниками для поддержки творчества Глента. Данный канал НЕ является официальным и ведется фанатом.
👥 47 136 · +36 117/7д
🏷 Темы и теги
#cpp #programming #системное программирование #c++ #stl #boost #highload #embedded #Технологии
📋 О канале C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
Канал для серьезных C++ программистов. Глубокое погружение в STL, Boost и метапрограммирование (Templates). Управление памятью (Memory Management), умные указатели и безопасность кода. Разработка высоконагруженных систем, сетевое программирование и Embedded (встраиваемые системы). Сборка через CMake, компиляторы GCC/Clang. Подготовка к собеседованиям: LeetCode, System Design и ООП.
🔍 Архив всех постов Макс
Поиск по 8,756,475 постам из 201,186 каналов
Попробовать за 1 ₽ →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.