🛡️ C++26: безопасность наконец становится частью языка
Устали от багов с памятью, которые ломают прод в самый неподходящий момент? C++26 меняет правила игры:
▶️
▶️
▶️
▶️
▶️
📺 Больше подробностей в видео
Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#линкер_рекомендует
Устали от багов с памятью, которые ломают прод в самый неподходящий момент? C++26 меняет правила игры:
▶️
Contracts (контракты) — пишешь pre: прямо в объявлении функции, и компилятор/рантайм сам проверяет предусловия▶️
Standard Library Hardening — встроенная проверка индексов и указателей в STL, больше никаких тихих UB из operator[]▶️
Consteval как защита от UB — компилятор буквально запускает код как виртуальную машину и диагностирует неопределённое поведение на этапе компиляции▶️
Observable checkpoints — новый способ разбить код на «эпохи» с гарантированным наблюдаемым поведением между ними▶️
Erroneous behaviour — новая категория между UB и well-defined, которая даёт компилятору меньше свободы для «опасных» оптимизаций📺 Больше подробностей в видео
Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#линкер_рекомендует
👍11😁3
Если думал, что
__has_include(<vector>) проверяет «существует ли файл на диске». Это не так. Директива работает на уровне препроцессора и взаимодействует с поисковыми путями компилятора, а не с файловой системой напрямую.🔍 Как это работает
__has_include — это расширение препроцессора, стандартизированное в C++17. Когда компилятор встречает:#if __has_include(<optional>)
# include <optional>
#endif
— препроцессор проходит по своим include-путям (-I, системные пути, -isystem) и проверяет, разрешится ли имя файла в один из них. Это тот же механизм, что используется при обычном
#include, но без реальной вставки содержимого.__has_include(<header>) // поиск только в системных путях
__has_include("header") // поиск сначала в локальных, затем в системных
Это зеркалит поведение обычных
#include <> и #include "". Разница критична при наличии локальных заголовков с теми же именами, что и системные.Файл может быть найден препроцессором, но при этом не компилироваться на данной платформе. Например,
<windows.h> физически присутствует в MinGW, но использование некоторых его частей невозможно без нужного таргета. __has_include вернёт 1, но код всё равно сломается.‼️ Практический вывод
Используй
__has_include для определения наличия необязательных зависимостей, но всегда дополняй проверкой версии или feature-теста (__cpp_lib_optional). Это защитит от ситуации «файл есть, фича недоступна».📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
📅 Старт курса — 20 апреля.
Если хотите разобраться, как строить управляемые агентные системы:
P.S.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
🍔 Реферальный рекрутинг в IT
Соискатели с рекомендацией получают оффер в 4 раза чаще, чем те, кто откликается в холодную. В 2026 году реферальный найм — уже не лайфхак, а отдельный канал трудоустройства. Разбираемся, как он устроен и как им воспользоваться.
👉 Продолжить читать
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Соискатели с рекомендацией получают оффер в 4 раза чаще, чем те, кто откликается в холодную. В 2026 году реферальный найм — уже не лайфхак, а отдельный канал трудоустройства. Разбираемся, как он устроен и как им воспользоваться.
👉 Продолжить читать
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
😁1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Каково поведение std::index_sequence<3, 1, 4, 1, 5> — валидна ли такая последовательность?
Anonymous Quiz
26%
Невалидна — стандарт требует, чтобы индексы были уникальными и строго возрастающими
9%
Валидна только при использовании с std::tuple, но запрещена с std::array и векторами
12%
Невалидна — компилятор выдаст ошибку при инстанциации специализации с повторами
46%
Валидна — integer_sequence допускает любые значения, включая повторяющиеся индексы
7%
Невалидна — компилятор выдаст ошибку при инстанциации специализации с повторами