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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

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

Библиотека C/C++ разработчика | cpp, boost, qt (@cppproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 17 750 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 542-o'rinni va Rossiya mintaqasida 38 062-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 17 750 obunachiga ega bo‘ldi.

09 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -16 195 ga, so‘nggi 24 soatda esa -40 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 8.86% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 4.78% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 574 marta ko‘riladi; birinchi sutkada odatda 849 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 8 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent c++, навигация, компилятор, удалёнка, developer kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Все самое полезное для плюсовика и сишника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d6cd2932 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17 #WXSSA

Yuqori yangilanish chastotasi (oxirgi ma’lumot 10 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

17 750
Obunachilar
-4024 soatlar
-15 9867 kunlar
-16 19530 kunlar
Postlar arxiv
🍿 std::views::filter — ленивая фильтрация в C++20 Адаптеры std::views::* — главный инструментарий Ranges. Каждый из них создаёт новое «представление» существующих данных без копирования. Сегодня разберём views::filter. 🌸 Базовое использование
#include <ranges>
#include <vector>
namespace views = std::views;

std::vector<int> nums = {1, -2, 3, -4, 5, -6};

auto positives = nums | views::filter([](int x) { return x > 0; });
// Итерация даёт: 1, 3, 5
Ничего не копируется — positives это просто обёртка поверх nums, которая позволяет удобно обрабатывать его элементы. 🍪 Цепочка фильтров
auto is_even = [](int x) { return x % 2 == 0; };

auto result = nums
    | views::filter([](int x) { return x > 0; })  // 1, 3, 5
    | views::filter(is_even);                     // нет чётных → пусто
Фильтры можно комбинировать в произвольную цепочку. Вычисление происходит лениво — только в момент итерации. 👻 Композиция с views::transform Достаточно просто ограничить обработку только тех элементов, которые хотим обработать:
auto squares = nums
    | views::filter([](int x) { return x > 0; })
    | views::transform([](int x) { return x * x; });
// Итерация даёт: 1, 9, 25
🍙 Материализация в вектор View — это не контейнер. Чтобы получить std::vector необходимо явно дать указание, что мы хотим привести результат к вектору:
// C++23
auto vec = nums | views::filter(is_even) 
               | std::ranges::to<std::vector>();

// C++20
std::vector<int> vec(result.begin(), result.end());
🌱 Pipe-синтаксис vs явный тип Синтаксис в виде pipe удобе, но если необходимо (например, для шаблонов), то можно пользоваться диапазонами как типами/объетами. Обе записи идентичны:
auto v1 = nums | views::filter(is_even);
auto v2 = std::ranges::filter_view{nums, is_even};
❗️ Ловушка: dangling view
// UB — вектор уничтожен после точки с запятой
auto bad = std::vector{1, 2, 3} | views::filter(is_even);

// Правильно — храните источник данных отдельно
std::vector<int> data = {1, 2, 3};
auto ok = data | views::filter(is_even);
🐸 Продолжение следует... 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #константная_правильность

🌿 userver 3.0: крупное обновление open source C++ фреймворка от Яндекса userver — асинхронный фреймворк для микросервисов и highload-систем, который используется в production внутри Яндекса и доступен в open source. Вышла версия 3.0 — с большим количеством прикладных улучшений для backend-разработки. ✏️ Что добавили в релизе • Более 2500 изменений и доработок • Chaotic — генерация однотипного кода по схемам данных • userver easy — быстрый запуск микросервиса с возможностью дальнейшего масштабирования • Улучшения по потреблению RAM и CPU • Дополнительные инструменты диагностики и отказоустойчивости ⚡️ Почему релиз важный Во многих C++ backend-проектах основные затраты времени уходят не на бизнес-логику, а на инфраструктурную обвязку: HTTP, базы данных, логирование, асинхронность, observability, graceful shutdown, retries, metrics. Здесь это уже собрано в production-ready стек, который прошёл нагрузку в сервисах масштаба Яндекса. 🐸 Что особенно полезно Chaotic закрывает одну из самых затратных задач — поддержку boilerplate-кода вокруг DTO, схем и сериализации. А userver easy снижает порог запуска новых сервисов и ускоряет прототипирование без необходимости собирать каркас проекта с нуля. 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #cpp #backend #opensource

🌳 Деревья в алгоритмах — быстрый гайд по иерархическим структурам Деревья — одна из самых частых тем на собеседованиях и в р
🌳 Деревья в алгоритмах — быстрый гайд по иерархическим структурам Деревья — одна из самых частых тем на собеседованиях и в реальных системах. Если понять базу, закрывается огромный пласт задач. 👉 Что такое дерево: Это структура данных, где элементы связаны иерархически: есть корень → ветки → листья. Примеры из жизни: — файловая система — DOM в браузере — организационные структуры Базовые типы деревьев: — Бинарное дерево — у каждого узла максимум 2 потомка — Бинарное дерево поиска (BST) — слева меньше, справа больше — Сбалансированные деревья (AVL, Red-Black) — держат высоту под контролем — Trie — для строк и префиксов 📍 Навигация: ВакансииЗадачиСобесы Библиотека питониста #буст

🔩 Vtable изнутри: что компилятор прячет за virtual Автор статьи разбирает внутреннее устройство виртуальных таблиц согласно
🔩 Vtable изнутри: что компилятор прячет за virtual Автор статьи разбирает внутреннее устройство виртуальных таблиц согласно Itanium C++ ABI — тому самому стандарту, которому следуют GCC и Clang на большинстве платформ. ❗Ключевые моменты статьи: • почему vptr указывает не на начало vtable, а со смещением • как расположены записи в vtable при множественном и виртуальном наследовании • что такое construction vtable (VTT) и когда она используется Основной фокус — не просто «как работает virtual», а что происходит на уровне байтов и ассемблера, когда компилятор реализует динамическую диспетчеризацию. Если вы когда-либо видели в стектрейсе vtable for ClassName и не понимали, что это — самое время разобраться. 👉 Статья 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #линкер_рекомендует

🗓 В следующий вторник (28.04) в 19:00 встречаемся в онлайне. Тема:
Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены
В кружке Кирилл рассказал, какие именно подходы будем разбирать. 👉 Занять место на вебинаре

😎 Топ-вакансий для C++ разработчиков за неделю Senior Rendering engineer C++ в 3D Карту — от 350 000 и до 400 000 ₽ Удалёнка/Гибрид (Санкт-Петербург, Москва) C-разработчик (Storage) — от 350 000 и до 450 000 ₽ Удалёнка Инженер-программист С++ — от 250 000 и до 300 000 ₽ Офис/Удалёнка (Москва) ✍️ Еще больше топовых вакансий — в нашем канале C++ jobs 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #буст

👁 C++ Ranges. Требования к диапазонам C++20 ввёл концепты — способ формально выразить требования к типам. В Ranges они используются повсеместно, поэтому важно понимать, что говорят сообщения об ошибках и почему один алгоритм принимает vector, а другой требует что-то большее.
// ❌ Не скомпилируется
std::list<int> lst = {3, 1, 2};
std::ranges::sort(lst);
// Ошибка: list не удовлетворяет концепту random_access_range

// ✅ vector удовлетворяет random_access_range
std::vector<int> vec = {3, 1, 2};
std::ranges::sort(vec);

// ✅ У list есть собственный метод сортировки
lst.sort();
🍋 Иерархия концептов Концепты выстроены в цепочку наследования: каждый следующий добавляет требования к предыдущему. sized_range и viewable_range — ортогональны иерархии, они не зависят от позиции в цепочке.
range
 └── input_range
      └── forward_range
           └── bidirectional_range
                └── random_access_range
                     └── contiguous_range
‼️ Зачем нужен viewable_range? Ещё есть viewable_range, он тоже не входит в иерархию. Нужен, так как не любой range можно безопасно обернуть во view. Если передать временный объект, итератор получит висячий указатель — объект уничтожается раньше, чем его успевают использовать. Концепт viewable_range запрещает это на уровне компилятора. 🍩 Проверка концептов в compile-time Тут всё просто, нужно обернуть проверку в static_assert и сразу, на этапе компиляции, получишь ошибку если что-то не так:
static_assert(std::ranges::random_access_range<std::vector<int>>);
static_assert(!std::ranges::random_access_range<std::list<int>>); 
static_assert(std::ranges::bidirectional_range<std::list<int>>);
🐸 Продолжение следует... 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #константная_правильность

🎈 Минималистичная настройка редактора Zed Плейлист с пошаговой настройке редактора Zed для минималистов в духе Neovim. Так ж
🎈 Минималистичная настройка редактора Zed Плейлист с пошаговой настройке редактора Zed для минималистов в духе Neovim. Так же на канале лежит плейлист с похожей настройкой для VSCode. ✏️ Настройка Zed ✏️ Настройка VSCode 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #буст

Какой PMR-аллокатор оптимален для объектов, живущих только в одной итерации?
Anonymous voting

🏃‍♀️ Уже завтра стартует курс по разработке AI-агентов. Про AI-агентов часто думают, что это просто модная обертка над джпт
🏃‍♀️ Уже завтра стартует курс по разработке AI-агентов. Про AI-агентов часто думают, что это просто модная обертка над джпт для пет-проектов. Кажется, прикрутил API к скрипту и типа готово. А вот и нет! Когда дело доходит до прода, начинаются настоящие проблемы.
Зачем глубоко копать мультиагентные системы, если можно обойтись старым добрым кодом? Как контролировать расходы на токены, чтобы новая фича не разорила бизнес? Как заставить агента работать стабильно и предсказуемо, а не галлюцинировать?
Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы. Стартуем завтра. Для участия и доступа к программе переходите по ссылке.

📰 Свеженькое из мира C++ Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и инт
📰 Свеженькое из мира C++ Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++. 😎 Интересное:Как техлиду перестать быть справочником и научить своих аналитиков самостоятельности — разбор как лиду работать, а не работать поисковиком • Почему constexpr вычисляется не всегда в compile-time — особенности работы constexpr в реальных проектах • C++ Ranges. Ленивые вычисления (C++20) — продолжаем тему диапазонов • std::call_once и once_flag: явная ленивая инициализация — фитча, помогающая удобно подгружать ресурсы • Как использовать ИИ для составления резюме и поиска работы: 5 рабочих промптов — советы, как с помощью AI продвинуть свой резюме 🔹📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #свежак

🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов? Анонсируем старт продаж большого курса по Ag
🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов? Анонсируем старт продаж большого курса по AgentOps. Мы собрали опыт десятков разработчиков и сделали программу, которая учит выводить ИИ в стабильный прод. 🗓 Ждем вас 28 апреля в 19:00 МСК на эфире: «Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены». 👉 Кто вещает и в чем польза? Спикер Кирилл Кухарев (Senior AI Engineer в Raft, спикер AI Conf и Highload++). Он реализовал более 50 коммерческих проектов в GenAI и на вебинаре покажет, как взять под контроль работу нескольких агентов, чтобы они не перекидывали друг другу лишний контекст и не сжигали ваши деньги. В прямом эфире разберем: • Как формируется контекст в LLM при маршрутизации между агентами; • Куда утекают лишние токены и возникает перерасход; • Практические методы: как сжимать историю, грамотно делить задачи, лимитировать передачу контекста и собирать промпты прямо в процессе запроса пользователя. 🔥 Два способа получить максимум: 1. Приходите на вебинар 28 апреля. Дарим участникам промокод на 5.000 ₽ (работает 3 дня после эфира - это шанс забрать курс по самому низу рынка). 2. Выбирайте Инженерный трек. В подарок к нему идет полный доступ к записям и автопроверкам завершенного курса «Разработка ИИ-агентов». 👉 Занять место на вебинаре и стать профи в AgentOps

🚀 Челендж на выходных: полный ленивый pipeline Собери всё вместе: напиши ленивый pipeline обработки данных без лишних копий и временных контейнеров.
// Дано: файл с числами (по одному на строку)
// Задача: найти сумму квадратов чётных чисел из первых 1000 строк

// Наивное решение (неленивое):
// 1. Загрузить всё в vector<int>          — O(n) память
// 2. Отфильтровать чётные                 — ещё O(n)
// 3. Возвести в квадрат                   — ещё O(n)
// 4. Просуммировать первые 1000           — O(n)

// Ленивое решение должно:
// - Читать файл построчно (не грузить всё)
// - Фильтровать на лету
// - Трансформировать на лету
// - Останавливаться после 1000 элементов

// Скелет:
auto result = lines_from_file("data.txt")       // ленивый итератор строк
    | parse_ints()                              // string -> optional<int>
    | filter_valid()                            // убрать nullopt
    | filter([](int x){ return x % 2 == 0; })  // только чётные
    | transform([](int x){ return x * x; })    // квадрат
    | take(1000)                                // первые 1000
    | sum();                                    // свёртка

// TODO: реализуй каждый адаптер в цепочке
✏️ Задача: реализуй весь pipeline. Можно использовать C++20 Ranges или написать адаптеры вручную. Ключевое требование — в любой момент в памяти хранится не более одного элемента из файла. 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #междусобойчик

🤖 Ваш ИИ-агент съедает бюджет на токены и падает при сбоях API? Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах. Рынок требует инженеров, которые умеют: • Контролировать метрики и качество ответов; • Эффективно работать с RAG-архитектурой; • Строить системы, готовые к реальным нагрузкам. Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др. 🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!
Работа с AI начинается с систем. Системы — с AgentOps.
🔥 Забрать скидку и изучить программу.

🤖📝 Как использовать ИИ для составления резюме и поиска работы: 5 рабочих промптов Попросить нейросеть «улучшить текст» — эт
🤖📝 Как использовать ИИ для составления резюме и поиска работы: 5 рабочих промптов Попросить нейросеть «улучшить текст» — это не стратегия, это косметика. Настоящая сила LLM заключается в анализе сотен вакансий, профилей конкурентов и данных о компании. Вот 5 промптов, которые реально работают. 👉 Статья 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #буст