fa
Feedback
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

رفتن به کانال در Telegram

Все самое полезное для плюсовика и сишника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d6cd2932 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

نمایش بیشتر
2025 سال در اعدادsnowflakes fon
card fon
19 545
مشترکین
-1324 ساعت
-407 روز
-17130 روز
جذب مشترکین
دسامبر '25
دسامبر '25
+49
در 0 کانال‌ها
نوامبر '25
+80
در 0 کانال‌ها
Get PRO
اکتبر '25
+58
در 0 کانال‌ها
Get PRO
سپتامبر '25
+72
در 0 کانال‌ها
Get PRO
اوت '25
+90
در 0 کانال‌ها
Get PRO
ژوئیه '25
+94
در 0 کانال‌ها
Get PRO
ژوئن '25
+134
در 0 کانال‌ها
Get PRO
مه '25
+129
در 0 کانال‌ها
Get PRO
آوریل '25
+116
در 0 کانال‌ها
Get PRO
مارس '25
+234
در 2 کانال‌ها
Get PRO
فوریه '25
+184
در 2 کانال‌ها
Get PRO
ژانویه '25
+136
در 2 کانال‌ها
Get PRO
دسامبر '24
+139
در 2 کانال‌ها
Get PRO
نوامبر '24
+230
در 2 کانال‌ها
Get PRO
اکتبر '24
+187
در 2 کانال‌ها
Get PRO
سپتامبر '24
+168
در 2 کانال‌ها
Get PRO
اوت '24
+79
در 2 کانال‌ها
Get PRO
ژوئیه '24
+53
در 2 کانال‌ها
Get PRO
ژوئن '24
+105
در 2 کانال‌ها
Get PRO
مه '24
+363
در 2 کانال‌ها
Get PRO
آوریل '24
+355
در 7 کانال‌ها
Get PRO
مارس '24
+364
در 7 کانال‌ها
Get PRO
فوریه '24
+324
در 7 کانال‌ها
Get PRO
ژانویه '24
+381
در 6 کانال‌ها
Get PRO
دسامبر '23
+11 939
در 7 کانال‌ها
Get PRO
نوامبر '23
+406
در 5 کانال‌ها
Get PRO
اکتبر '23
+721
در 7 کانال‌ها
Get PRO
سپتامبر '23
+1 678
در 5 کانال‌ها
Get PRO
اوت '230
در 8 کانال‌ها
Get PRO
ژوئیه '230
در 2 کانال‌ها
Get PRO
ژوئن '23
+10
در 0 کانال‌ها
Get PRO
مه '23
+592
در 2 کانال‌ها
Get PRO
آوریل '23
+814
در 0 کانال‌ها
Get PRO
مارس '23
+68
در 0 کانال‌ها
Get PRO
فوریه '23
+1 035
در 0 کانال‌ها
Get PRO
ژانویه '230
در 0 کانال‌ها
Get PRO
دسامبر '220
در 0 کانال‌ها
Get PRO
نوامبر '220
در 0 کانال‌ها
Get PRO
اکتبر '22
+69
در 0 کانال‌ها
Get PRO
سپتامبر '22
+363
در 0 کانال‌ها
Get PRO
اوت '22
+342
در 0 کانال‌ها
Get PRO
ژوئیه '22
+424
در 0 کانال‌ها
Get PRO
ژوئن '22
+492
در 0 کانال‌ها
Get PRO
مه '22
+238
در 0 کانال‌ها
Get PRO
آوریل '22
+216
در 0 کانال‌ها
Get PRO
مارس '22
+427
در 0 کانال‌ها
Get PRO
فوریه '22
+181
در 0 کانال‌ها
Get PRO
ژانویه '22
+14 806
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
26 دسامبر0
25 دسامبر+1
24 دسامبر+2
23 دسامبر+2
22 دسامبر+4
21 دسامبر+1
20 دسامبر0
19 دسامبر+2
18 دسامبر+4
17 دسامبر+3
16 دسامبر+2
15 دسامبر+1
14 دسامبر+2
13 دسامبر+1
12 دسامبر+5
11 دسامبر+1
10 دسامبر0
09 دسامبر+2
08 دسامبر+4
07 دسامبر+3
06 دسامبر0
05 دسامبر+1
04 دسامبر+3
03 دسامبر+2
02 دسامبر0
01 دسامبر+3
پست‌های کانال
🐸 Подборка вакансий для C++-разработчиков за неделю C++/Qt/QML-разработчик под Android (Транспорт) — от 250 000 ₽ Удалёнка Senior C++ engineer («Разработка ядер рекламной платформы») C++ Developer (Real-Time Audio Processing) — от 288 000 и до 320 000₽ Удалёнка Senior С++ Backend Developer (Поиск) — от 350 000 ₽ Удалёнка Разработчик графических приложений Qt/С++ — от 150 000 и до 250 000 ₽ Удалёнка System С++ developer — Офис (Москва) Библиотека C/C++ разработчика

1 00620

2
📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #развлекалово
📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #развлекалово
1 276
3
WANTED: C++ ЭКСПЕРТ Обвиняется в прямом управлении памятью и знании тёмных углов стандарта. Если ты выжил в мире плюсов и гот
WANTED: C++ ЭКСПЕРТ Обвиняется в прямом управлении памятью и знании тёмных углов стандарта. Если ты выжил в мире плюсов и готов учить этому других — мы тебя ищем. Приметы: — в совершенстве владеет C/C++ (понимает логику Go или Java); — умеет писать производительный и безопасный код; — обладает терпением и талантом наставника; — хочет выйти на большую аудиторию Proglib. Награда: — вознаграждение за твой вклад в обучение; — статус признанного эксперта в комьюнити; — поддержка твоего личного бренда. Сдаться добровольно P.S. Знаешь «плюсовика», который знает слишком много? Сдай его нам.
1 386
4
📕 Написал код на С++23, а он запустился на Windows 95... Представь: пишешь код с модулями C++23 в Visual Studio 2026, жмёшь
📕 Написал код на С++23, а он запустился на Windows 95... Представь: пишешь код с модулями C++23 в Visual Studio 2026, жмёшь компиляцию... И получаешь exe для Windows 95. Подробный разбор нестандартного подхода к ретро-программированию с использованием всех благ современного C++. ❗Основные шаги: • компиляция только в 32-bit x86 с отключёнными исключениями и STL • использование линкера от Visual C++ 6.0 для финальной сборки • создание минимальной реализации std с базовыми контейнерами Фокус на практическом применении — портирование проектов LDL и движка Arcanum на C++23 с сохранением поддержки Windows 98. Актуально для разработчиков, которые создают новые игры, моды и улучшения для старых систем в рамках комьюнити вроде Old-Games.ru. Главное преимущество — один и тот же код работает и на современной системе (для отладки), и на ретро-железе (для финального запуска). 👉 Статья Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #свежак
1 474
5
🎅 Секретный Санта для айтишников от Proglib.academy Весь этот год команда Академии запускала курсы для айтишников. А под Нов
🎅 Секретный Санта для айтишников от Proglib.academy Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик. 🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе: 1️⃣ Упомяните курс Академии у себя в блоге. 2️⃣ Пришлите скрин сюда. 3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса. Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более. 🎄 Акция действует до Нового года. Win-win, всё как мы любим!
1 481
6
🐥 Почему std::chrono::duration не хранит единицы измерения? duration<int, std::milli> не хранит информацию о миллисекундах. На самом деле это compile-time магия. ✅ Как это работает: duration — это просто обёртка над числом. Шаблонный параметр std::milli (он же std::ratio<1, 1000>) существует только на этапе компиляции. duration<int64_t, std::milli> ms(1000); // В памяти: просто int64_t со значением 1000 // Информации "это миллисекунды" в рантайме НЕТ 🍴 Механизм конверсии: Когда вы пишете duration_cast<seconds>(ms), компилятор вычисляет 1000 / 1000 = 1 на этапе компиляции через механизм std::ratio. Никаких делений в рантайме при конверсии целых периодов. Вывод: Zero-overhead абстракция. В release-сборке duration<int, milli> — это буквально int с type safety. Но осторожно: duration_cast может обрезать дробную часть при конверсии вниз. 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #под_капотом
1 612
7
AI-агенты: когда точность архитектуры важнее магии промптов Мы смотрим на ИИ как на инженерную задачу. Мы учим строить автоно
AI-агенты: когда точность архитектуры важнее магии промптов Мы смотрим на ИИ как на инженерную задачу. Мы учим строить автономные системы с детерминированной логикой, контролем ресурсов и предсказуемым поведением. Основные темы: — управление состояниями в LangGraph для проектирования надёжных стейт-машин; — работа с данными через RAG-системы на базе векторных хранилищ; — автоматизация и мониторинг через связку n8n и LangSmith для полного аудита; — безопасность системы с внедрением Guardrails для защиты от некорректных запросов. Постройте масштабируемую AI-систему с инженерным подходом. Записаться на курс
1 574
8
Перевод: Правительство США рассекретило PoC (Proof of Concept) 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разра
Перевод: Правительство США рассекретило PoC (Proof of Concept) 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #развлекалово
1 675
9
⚡️ От SFINAE к Concepts: эволюция метапрограммирования Compile-time магия прошла долгий путь от криптографического SFINAE к читаемым concepts. Эра 1: Классический SFINAE (C++98) template<typename T> typename std::enable_if<std::is_integral<T>::value, T>::type increment(T value) { return value + 1; } // Что происходит? Кто знает... Эра 2: Type traits (C++11/14) template<typename T> std::enable_if_t<std::is_integral_v<T>, T> increment(T value) { return value + 1; } // Чуть лучше с _t и _v суффиксами Эра 3: if constexpr (C++17) template<typename T> T process(T value) { if constexpr (std::is_integral_v<T>) { return value + 1; } else if constexpr (std::is_floating_point_v<T>) { return value * 1.1; } else { return value; } } // Читается как обычный код! Эра 4: Concepts (C++20) template<std::integral T> T increment(T value) { return value + 1; } // Или auto increment(std::integral auto value) { return value + 1; } // Красота и понятность! 😏 А какой подход вам больше нравится? Напиши в комментариях! 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #константная_правильность
1 661
10
🤟 Путь к мечте продолжается Два года российские нейрохирурги отказывали мне в операции, запугивая последствиями. В итоге пое
🤟 Путь к мечте продолжается Два года российские нейрохирурги отказывали мне в операции, запугивая последствиями. В итоге поехал в Казахстан — сделали две паллидотомии, которые «нельзя было делать». Речь на месте, здоровье улучшается. Параллельно учу C++ и ищу работу. История о том, как не сдаваться, когда система говорит «нет». 👉 Продолжение... 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #буст
1 697
11
No text
No text
1 820
12
🔥 Почему throw не просто делает goto к catch-блоку? Возможно ты думал, что исключение — это прыжок в код обработчика. На самом деле между throw и catch происходит сложный процесс деструкции объектов. Stack Unwinding — это механизм раскрутки стека, который компилятор генерирует автоматически. Когда летит исключение, среда выполнения проходит назад по стеку вызовов и вызывает деструкторы всех локальных объектов в обратном порядке их создания. Компилятор создаёт специальные таблицы (exception tables в формате DWARF или SEH), которые содержат информацию о том, где какие объекты живут и какие деструкторы нужно вызвать. При броске исключения runtime читает эти таблицы и пошагово очищает стек. void func() { Resource r1; // деструктор будет вызван Resource r2; // и этот тоже throw Error(); } ❌ Если во время раскрутки деструктор сам бросит исключение, вызывается std::terminate(). Поэтому правило: деструкторы должны быть noexcept. ❗️Stack unwinding гарантирует безопасность ресурсов, но имеет накладные расходы: даже если исключение не бросается, таблицы занимают место в бинарнике. В embedded-системах часто отключают исключения именно поэтому. 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #под_капотом
2 103
13
Что под капотом у агентов? Вы привыкли работать с памятью и потоками напрямую. AI-агенты — это новый уровень абстракции, но п
Что под капотом у агентов? Вы привыкли работать с памятью и потоками напрямую. AI-агенты — это новый уровень абстракции, но проблемы там те же: оптимизация, задержки, стоимость вычислений. В новой версии курса «Разработка AI-агентов» мы добавили факультатив "Научный взгляд" и углубились в техническую часть. Для тех, кто любит хардкор: — Optimization: RAG, векторный поиск, работа с контекстом. — System Design: Мультиагентные системы (AutoGen, LangGraph) как распределенные системы. — Infrastructure: Работа на реальном GPU-кластере (предоставляем доступ). Это знания, актуальные для 2026 года, когда AI будет встроен в каждое устройство. ⚡️ Акция 3 в 1: Берешь курс по агентам — получаешь два любых других бесплатно (например, Алгоритмы или Математику, чтобы понимать ML-базу). Upgrade your skills
2 178
14
👀 Почему std::async может заблокировать ваш поток? Многие думают, что std::async всегда создаёт новый поток. На самом деле это не так. По умолчанию std::async использует политику запуска std::launch::async | std::launch::deferred. Это означает, что реализация сама решает, выполнить задачу асинхронно или отложить до вызова get(). auto future = std::async(heavy_task); // Может НЕ запуститься прямо сейчас! auto result = future.get(); // Тут может начать выполняться 🍴 Под капотом: При std::launch::deferred задача сохраняется как callable объект и выполняется синхронно при первом обращении к future. Никакого нового потока. ✏️ Что происходит в памяти: Создаётся shared state, хранящий либо результат, либо исключение. Deferred-задача живёт в виде объекта функции до момента вызова. 🧋Вывод: Если вам нужна гарантия параллельности, явно указывайте std::launch::async. Иначе рискуете получить синхронное выполнение там, где ожидали асинхронное. auto future = std::async(std::launch::async, heavy_task); 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #под_капотом
2 174
15
👀 Почему std::async может заблокировать ваш поток? Многие думают, что std::async всегда создаёт новый поток. На самом деле это не так. По умолчанию std::async использует политику запуска std::launch::async | std::launch::deferred. Это означает, что реализация сама решает, выполнить задачу асинхронно или отложить до вызова get(). auto future = std::async(heavy_task); // Может НЕ запуститься прямо сейчас! auto result = future.get(); // Тут может начать выполняться 🍴 Под капотом: При std::launch::deferred задача сохраняется как callable объект и выполняется синхронно при первом обращении к future. Никакого нового потока. ✏️ Что происходит в памяти: Создаётся shared state, хранящий либо результат, либо исключение. Deferred-задача живёт в виде объекта функции до момента вызова. 🧋Вывод: Если вам нужна гарантия параллельности, явно указывайте std::launch::async. Иначе рискуете получить синхронное выполнение там, где ожидали асинхронное. auto future = std::async(std::launch::async, heavy_task); 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #под_капотом
2
16
📰 Свеженькое из мира C++ Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и инт
📰 Свеженькое из мира C++ Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++. 😎 Интересное: • Рализация своего ECS движка — разбор реализации hand-made ECS движка • std::promise — move-only тип — описание проблемы с копированием std::promise • 5 профессий в IT, которые появились благодаря ИИ — статья о том как ИИ создаёт профессии • std::generator в C++23: как упростить код сопрограмм — доклад об использовании стандартного интерфейса, который превращает генерацию последовательностей в одну строку 🔹📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #свежак
2 144
17
🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с д
🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими? Мы ищем сильных практиков, которые хотят попробовать себя в роли: — преподавателей; — авторов курсов; — наставников. Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов. 👉 Заполни короткую анкету
2 176
18
Вопрос: Можно ли получить stacktrace в constexpr контексте? Ответ: Нет! std::stacktrace::current() (C++23) не является conste
Вопрос: Можно ли получить stacktrace в constexpr контексте? Ответ: Нет! std::stacktrace::current() (C++23) не является constexpr функцией, так как stacktrace это runtime. Компилятор не имеет «call stack» во время компиляции в том же смысле.
2 112
19
🐸 Подборка вакансий для C++-разработчиков за неделю C++ Developer (General Components / Sensors) — от 350 000 ₽ Офис/Гибрид (Москва) C++ Developer (Real-Time Audio Processing) — от 288 000 и до 320 000 gross Backend-разработчик — от 200 000 ₽ Удалёнка C++ Team Lead (3D Картa) — от 250 000 ₽ Удалёнка C++ Developer (Middle/Senior) — от 2 000 и до 4 000$ Удалёнка Senior C++ Software Engineer (SaaS) — от 4 000 $ Удалёнка Библиотека C/C++ разработчика
2 328
20
📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #развлекалово
📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #развлекалово
2 369