🤠 Что такое std::is_within_lifetime из C++26?
В статье автор разбирает новинку C++26 —
❗️Ключевые моменты статьи:
•
• мотивация пришла из задачи реализации
• решение элегантно совмещает compile-time корректность и runtime эффективность
Фокус статьи — на дизайне фичи: почему указатель вместо ссылки, почему consteval-only и почему такое обобщённое имя.
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
В статье автор разбирает новинку C++26 —
std::is_within_lifetime — и объясняет, зачем она вообще появилась в стандарте.❗️Ключевые моменты статьи:
•
is_within_lifetime — не union-специфичная функция, а общий механизм запроса времени жизни объекта• мотивация пришла из задачи реализации
OptBool с минимальным расходом памяти• решение элегантно совмещает compile-time корректность и runtime эффективность
Фокус статьи — на дизайне фичи: почему указатель вместо ссылки, почему consteval-only и почему такое обобщённое имя.
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
🤩2❤1👍1😁1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет программа?
Anonymous Quiz
22%
0
15%
99
37%
jumped
10%
Ошибка компиляции
16%
Неопределённое поведение
👍1
Роберт Мартин в "Чистом коде" написал жёстко: комментарий — это признак неудачи. Если вам нужно объяснять код словами, значит, вы написали его недостаточно ясно.
В C++ эта идея получила новое дыхание с приходом
[[nodiscard]], концептов из C++20 и строгой типизации. Тип std::expected<Result, Error> уже сообщает о возможной ошибке без единого слова.Но у этой философии есть тёмная сторона. Когда через год вы видите
static constexpr int MAGIC = 0x5F3759DF — никакое именование не объяснит, что это константа из алгоритма быстрого обратного квадратного корня Quake III. Здесь нужен комментарий и, желательно, ссылка на статью.Самодокументирующийся код работает для структуры. Комментарии работают для контекста и истории.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5😁2
📌 Хранение float в std::map: правильный способ
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
std::map требует strict weak ordering. float нарушает его при наличии NaN. std::strong_order спасает.#include <compare>
#include <map>
#include <iostream>
struct FloatCompare {
bool operator()(double a, double b) const {
// strong_order — total order, строго соответствует требованиям map
return std::strong_order(a, b) == std::strong_ordering::less;
}
};
int main() {
std::map<double, std::string, FloatCompare> m;
m[1.0] = "one";
m[-0.0] = "negative zero";
m[+0.0] = "positive zero"; // отдельный ключ! (strong_order различает)
m[std::numeric_limits<double>::quiet_NaN()] = "nan";
m[std::numeric_limits<double>::infinity()] = "inf";
// Все 5 ключей уникальны и упорядочены детерминированно
std::cout << m.size(); // 5
}
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
👍13
Forwarded from Библиотека Go-разработчика | Golang
Winslop — утилита с одной задачей: убрать из Windows 11 всё лишнее.
Никакого Copilot в трее, никакой телеметрии, никаких виджетов и рекламы в меню Пуск. Только то, что вы сами разрешили оставить.
• показывает, что именно будет изменено
• ничего не запускает автоматически
• всё обратимо
• никакого облака — всё локально
👉 Чистим винду
📍 Навигация: Вакансии • Задачи • Собесы
#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
🛠 Clang 22.1.0: что сломали, что починили и зачем обновляться
Вышел
⚡️ Reduced BMI по умолчанию (C++20 modules): режим
⚡️ ABI-изменение для
⚡️
⚡️
⚡️
⚡️ Thread Safety Analysis вышел из беты:
🔗 Читать Release Notes
✏️ А вы уже обожглись на ABI-изменениях между версиями Clang?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Вышел
Clang 22.1.0 — и там не только фиксы, но и несколько изменений, которые могут сломать существующие сборки.⚡️ Reduced BMI по умолчанию (C++20 modules): режим
Reduced Binary Module Interface теперь включён по умолчанию. Если ваша билд-система не поддерживает двухфазную компиляцию с Reduced BMI — ждите регрессий.⚡️ ABI-изменение для
MSVC: scalar deleting destructor: Clang 22 теперь корректно вызывает scalar deleting destructor вместо complete object destructor + global delete. Если у вас смешаны бинарники, собранные Clang 21 и Clang 22, — возможна порча памяти. Откат через -fclang-abi-compat=21.⚡️
-Wincompatible-pointer-types стал ошибкой: раньше это было предупреждение, теперь — ошибка по умолчанию. Понижается обратно через -Wno-error=incompatible-pointer-types.⚡️
__builtin_dedup_pack: новый builtin для дедупликации типов в parameter pack. Удобно при нормализации type lists в метапрограммировании — TypeList<__builtin_dedup_pack<int, double, int, char>...> вернёт TypeList<int, double, char>.⚡️
UBSan trap-reasons в debug info: трапы UBSan теперь пишут причину прямо в DWARF — LLDB сможет показать «signed integer addition overflow in 'a + b'» вместо немого падения. Отключается через -fno-sanitize-debug-trap-reasons.⚡️ Thread Safety Analysis вышел из беты:
ACQUIRED_BEFORE и ACQUIRED_AFTER больше не требуют -Wthread-safety-beta.🔗 Читать Release Notes
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3🥱1
Weekend Offer Multitrack: быстрый найм для опытных специалистов
Приглашаем бэкенд-разработчиков с опытом от 5 лет на C++, Python, Go или Java/Kotlin получить офер за 2 дня и поработать в трёх командах Яндекса на выбор.
Приходите, если вам важно видеть результат своей работы в живых системах и метриках, а не только в merged PR.
Как всё проходит:
🟢 До 6 марта — регистрация на сайте.
🟢 14 марта — технические секции.
🟢 15 марта — финальная секция и офер.
После получения офера у вас будет возможность выбрать три команды и в течение нескольких недель поочерёдно поработать в каждой. Такой формат позволит не только познакомиться с коллегами и технологическим стеком, но и оценить задачи и рабочие процессы в каждой команде.
Подробности и форма регистрации — по ссылке.
Приглашаем бэкенд-разработчиков с опытом от 5 лет на C++, Python, Go или Java/Kotlin получить офер за 2 дня и поработать в трёх командах Яндекса на выбор.
Приходите, если вам важно видеть результат своей работы в живых системах и метриках, а не только в merged PR.
Как всё проходит:
После получения офера у вас будет возможность выбрать три команды и в течение нескольких недель поочерёдно поработать в каждой. Такой формат позволит не только познакомиться с коллегами и технологическим стеком, но и оценить задачи и рабочие процессы в каждой команде.
Подробности и форма регистрации — по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
😎 Топ-вакансий для C++ разработчиков за неделю
Developer C++ (macOS) — Удалёнка
Разработчик C++ / Senior Security Engineer — от 400 000 ₽ Удалёнка
Senior C Developer — от 350 000 ₽ Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Developer C++ (macOS) — Удалёнка
Разработчик C++ / Senior Security Engineer — от 400 000 ₽ Удалёнка
Senior C Developer — от 350 000 ₽ Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
👍2😁1
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
В программе:
— изоляция выполнения агентов и интеграции по стандарту
— профессиональная оркестрация и механизмы time-travel;
— продвинутый
— контроль экономики: оптимизация вычислительных ресурсов и токенов;
— развёртывание локальных опенсорс-моделей в закрытых контурах (152-ФЗ).
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
👉 Присоединиться к четвёртому потоку и вывести агентов в прод
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Собрать простую цепочку вызовов легко, а вот выжать перфоманс, заставить всё работать локально и без утечек бюджета в проде — задача со звёздочкой.В программе:
— изоляция выполнения агентов и интеграции по стандарту
MCP;— профессиональная оркестрация и механизмы time-travel;
— продвинутый
RAG для промышленной эксплуатации;— контроль экономики: оптимизация вычислительных ресурсов и токенов;
— развёртывание локальных опенсорс-моделей в закрытых контурах (152-ФЗ).
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!👉 Присоединиться к четвёртому потоку и вывести агентов в прод
😁2
🎯 std::move_only_function: зачем нам ещё один тип функций?
Представь: ты хочешь передать лямбду, которая захватывает
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
std::function — хороший инструмент. Но есть одна проблема: он требует копируемости. А что, если твой callable некопируемый? В C++23 есть решение — std::move_only_function.Представь: ты хочешь передать лямбду, которая захватывает
std::unique_ptr. С std::function — UB или не скомпилируется. С std::move_only_function — просто работает.// C++23
#include <functional>
#include <memory>
auto make_task(std::unique_ptr<int> data) {
// ✅ Работает! std::function здесь не справится
return std::move_only_function<void()>{
[d = std::move(data)]() {
std::println("Value: {}", *d);
}
};
}
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
👍6❤1👾1
🐸 Подборка вакансий для C++-разработчиков за неделю
Разработчик C++ / Senior Security Engineer — от 400 000 ₽ Удалёнка
Developer C++ (macOS) — Удалёнка
Senior C Developer — от 350 000 ₽ Удалёнка
Senior C++ Developer — от 280 000 ₽ Офис/гибрид (Москва, Краснодар, Нижний Новгород, Новосибирск)
C++ разработчик/CV-инженер — Удалёнка
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
Разработчик C++ / Senior Security Engineer — от 400 000 ₽ Удалёнка
Developer C++ (macOS) — Удалёнка
Senior C Developer — от 350 000 ₽ Удалёнка
Senior C++ Developer — от 280 000 ₽ Офис/гибрид (Москва, Краснодар, Нижний Новгород, Новосибирск)
C++ разработчик/CV-инженер — Удалёнка
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
😁1
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн
Оптимизировать память в
В обновлённой программе фокус смещён на жёсткий инжиниринг и вывод LLM-решений в прод. Вы изучите механизмы ReAct-циклов, работу с
Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорит уже завтра;
— промокод
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до 28 февраля
Оптимизировать память в
C++ — искусство, а заставить автономных ИИ-агентов работать без утечек бюджета — вызов нового уровня. Как контролировать поведение мультиагентных систем и управлять ресурсами?В обновлённой программе фокус смещён на жёсткий инжиниринг и вывод LLM-решений в прод. Вы изучите механизмы ReAct-циклов, работу с
LangGraph и AutoGen, архитектуру продвинутого RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: контроль затрат, time-travel дебаггинг, системная маршрутизация, human-in-the-loop и интеграция с высоконагруженными бэкендами.Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорит уже завтра;
— промокод
Agent на скидку 10 000 рублей действует последние часы;— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до 28 февраля