Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет этот код?
Anonymous Quiz
17%
false
12%
Ошибка компиляции
10%
0
8%
Неопределённое поведение
52%
1
😁1🌚1
С точки зрения assembly при включённой оптимизации (-O2)
std::mem_fn и эквивалентная лямбда дают идентичный код. Оба являются callable с inline-дружественной структурой: компилятор видит конкретный тип и инлайнит вызов.std::function<>:// Лямбда — захват this в замыкании
std::function<int(Foo&)> f1 = [](Foo& x) { return x.bar(); };
// mem_fn — хранит pointer-to-member
std::function<int(Foo&)> f2 = std::mem_fn(&Foo::bar);
std::mem_fn явно сигнализирует «это вызов метода». Лямбда гибче, но многословнее. В алгоритмах с однотипными вызовами mem_fn лаконичнее:std::transform(v.begin(), v.end(), out.begin(), std::mem_fn(&Widget::value)); // vs лямбда
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥱2❤1🔥1
🚀 C++23 и дальше: насколько код может стать сладким
На горизонте
✏️ Какую фичу из планируемых в C++26 вы ждёте больше всего? И есть ли что-то, чего в языке, на ваш взгляд, всё ещё не хватает?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
C++23 принёс ряд долгожданных улучшений. std::expected — альтернатива исключениям для обработки ошибок в функциональном стиле. std::print вместо printf и cout. Deducing this — явный доступ к *this в методах, открывающий новые паттерны.На горизонте
C++26: static reflection позволит исследовать типы во время компиляции с помощью обычного кода, без макросов. Это революционное изменение — сериализация, ORM, логирование смогут быть написаны на чистом C++ без кодогенерации.Contracts — ещё одна ожидаемая фича: precondition, postcondition, assertion прямо в синтаксисе языка. Документация и проверка в одном месте, опционально проверяемая в runtime.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🥱3👍1
У «Библиотеки программиста» появился резервный канал в мессенджере MAX
Он нужен исключительно для связи с теми, кто не может следить за обновлениями здесь из-за трудностей с доступом. Поэтому, если вы видите это сообщение, распространите его среди жильцов вашего ЖЭКа.
Контент в MAX будет дублировать телеграмный — основной нашей площадкой был и остаётся Telegram. Надеемся, это временная мера.
→ Подписаться на «Библиотеку программиста» в MAX
Он нужен исключительно для связи с теми, кто не может следить за обновлениями здесь из-за трудностей с доступом. Поэтому, если вы видите это сообщение, распространите его среди жильцов вашего ЖЭКа.
Контент в MAX будет дублировать телеграмный — основной нашей площадкой был и остаётся Telegram. Надеемся, это временная мера.
→ Подписаться на «Библиотеку программиста» в MAX
1😁15😢7🌚5👍1🥱1
Кажется, мы окончательно перешли от игрушек к суровому AgentOps
Приглашаем на наш обновлённый курс по разработке ИИ-агентов. Никакой воды про «будущее нейросетей», только инженерный подход.
На курсе мы:
— пошагово строим готовые системы на
— настраиваем кэширование и роутинг, чтобы бот не сожрал токены;
— разбираемся со стейтом, учимся дебажить через time-travel и прикручиваем human-in-the-loop;
— выводим RAG в прод так, чтобы безопасники не завернули архитектуру из-за 152-ФЗ.
В пекло скучные лекции про общую инфраструктуру — сразу фокусируемся на агентных фреймворках и написании кода. Занятия ведут бывалые лиды из Газпромбанка и Альфы, набившие шишки на реальных задачах.
Сегодня последний день, когда можно забрать курс по старым ценам. Базовый тариф сейчас стоит 49 000 ₽ (вместо 62 990 ₽), продвинутый трек — 99 000 ₽ (вместо 124 990 ₽). Если не хочется отдавать всю сумму сразу, есть рассрочка. Торопитесь — на потоке осталось всего 5 мест!
→ Зафиксировать цену и перейти к сборке своих агентов
Приглашаем на наш обновлённый курс по разработке ИИ-агентов. Никакой воды про «будущее нейросетей», только инженерный подход.
На курсе мы:
— пошагово строим готовые системы на
LangGraph, CrewAI и MCP;— настраиваем кэширование и роутинг, чтобы бот не сожрал токены;
— разбираемся со стейтом, учимся дебажить через time-travel и прикручиваем human-in-the-loop;
— выводим RAG в прод так, чтобы безопасники не завернули архитектуру из-за 152-ФЗ.
В пекло скучные лекции про общую инфраструктуру — сразу фокусируемся на агентных фреймворках и написании кода. Занятия ведут бывалые лиды из Газпромбанка и Альфы, набившие шишки на реальных задачах.
Кстати, на днях мы пилили агента в прямом эфире, если пропустили — есть запись вебинара.
Сегодня последний день, когда можно забрать курс по старым ценам. Базовый тариф сейчас стоит 49 000 ₽ (вместо 62 990 ₽), продвинутый трек — 99 000 ₽ (вместо 124 990 ₽). Если не хочется отдавать всю сумму сразу, есть рассрочка. Торопитесь — на потоке осталось всего 5 мест!
→ Зафиксировать цену и перейти к сборке своих агентов
😁2
🤠 Почему опытным PM, PO и руководителям тоже нужен менторинг
Когда карьера уже сложилась, расти становится сложнее: привычные способы
развития перестают работать. Делюсь опытом менторства и наблюдениями о
том, как менторинг помогает PM, PO и руководителям пересобирать свои
управленческие решения.
👀 Читать дальше
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Когда карьера уже сложилась, расти становится сложнее: привычные способы
развития перестают работать. Делюсь опытом менторства и наблюдениями о
том, как менторинг помогает PM, PO и руководителям пересобирать свои
управленческие решения.
👀 Читать дальше
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
😁2
😎 Топ-вакансий для C++ разработчиков за неделю
Senior C/C++ Developer — от 280 000 ₽ Офис (Санкт-Петербург)
C/C++ developer — от 200 000 ₽ Удалёнка/гибрид (Москва)
Embedded C/C++ Developer (Middle) — от 250 000 и до 350 000 ₽ Офис (Москва)
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Senior C/C++ Developer — от 280 000 ₽ Офис (Санкт-Петербург)
C/C++ developer — от 200 000 ₽ Удалёнка/гибрид (Москва)
Embedded C/C++ Developer (Middle) — от 250 000 и до 350 000 ₽ Офис (Москва)
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
😁2
Размер объекта-замыкания напрямую влияет на то, выделяется ли память в куче при хранении в std::function. Понимание
Small Buffer Optimization критично для low-latency кода.⚡️
std::function содержит внутренний буфер (обычно 16–32 байта в зависимости от реализации). Если closure влезает — heap allocation не происходит:// sizeof closure = sizeof(int) = 4 байта → SBO
auto f1 = [x = 42]() { return x; };
std::function<int()> sf1 = f1; // нет heap allocation
// sizeof closure = 3 * sizeof(string) → возможно > SBO
std::string s1, s2, s3;
auto f2 = [s1, s2, s3]() { return s1 + s2 + s3; };
std::function<int()> sf2 = f2; // возможно heap allocation
🔍 Практическое правило: захватываешь больше 3-х примитивных значений — жди heap allocation. std::string, вектор, любой объект с указателем внутри — почти гарантия.
⚠️ Решения для latency-sensitive кода:
• s
td::move_only_function (C++23) — меньше overhead, нет копирования• Ручной
std::aligned_storage + placement newSBO — деталь реализации стандартной библиотеки, не гарантированная стандартом. Для критичного кода измеряй, не предполагай. Конкретный порог зависит от libstdc++/libc++/MSVC STL.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5
👻 std::span в C++26: то, что должно было быть с самого начала
💡
❗ Что изменилось:
•
• добавили
• CTAD стал умнее: если размер известен на этапе компиляции — он и выводится как статический, а не теряется в
Ни одно из этих изменений не перевернёт ваш код с ног на голову. Но именно такие правки превращают «почти удобный» инструмент в тот, которым приятно пользоваться каждый день.
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
«Почему нельзя просто передать {1, 2, 3} в функцию?!» — знакомое чувство, когда компилятор смотрит на тебя с осуждением за какой-то список чисел.💡
std::span появился в C++20 и сразу стал удобным инструментом — но с заметными шероховатостями. В C++26 их наконец-то зашлифовали.❗ Что изменилось:
•
span<const T> теперь понимает {1, 2, 3} без магии двойных скобок — просто работает• добавили
at() с проверкой границ, как у всех нормальных контейнеров. Да, его не было. Да, это странно• CTAD стал умнее: если размер известен на этапе компиляции — он и выводится как статический, а не теряется в
dynamic_extentНи одно из этих изменений не перевернёт ваш код с ног на голову. Но именно такие правки превращают «почти удобный» инструмент в тот, которым приятно пользоваться каждый день.
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
❤4👍2