Бьярн Страуструп о своём же C++: «на C легко выстрелить себе в ногу» Создатель C++ однажды описал свой язык так: «На C легко выстрелить себе в ногу. На C++ это сделать сложнее, но если уж получится, оторвёт всю ногу целиком». В своём FAQ он объясняет: это верно для любого мощного языка. Чем лучше язык защищает от простых ошибок, тем менее очевидными становятся те, что остаются. C++ действительно закрыл многие дыры…
C++ Academy
РКН: clck.ru/3FmxJF #VRHSZ
Вашу рекламу в этом канале увидит до 1,5 тыс. человек
Заказать рекламу →Динамика подписчиков
с 20 июля 2026 по 12 октября 2026 · минимум 15 500 · максимум 15 600
Кто рекламировался за полгода
Рекламодатель определён по маркировке рекламы в постах канала.
Публикации
Полноценный Lisp можно уместить всего в 99 строк C. Внутри при этом: - 21 примитив - REPL - сборщик мусора Cheney GC - числа с плавающей точкой - указатели - типы значений И всё это без `struct`-тегов, без внешних библиотек и без обычных динамических аллокаций для представления объектов. Главный трюк - NaN boxing. IEEE 754 оставляет много битов внутри специальных NaN-значений. Их можно использовать как скрытое…
✔️ В C/C++ есть любопытный трюк с AVX-512: `_mm512_maskz_loadu_epi8`. Инструкция может выборочно загрузить до 64 байт по маске. Каждый бит маски отвечает за один байт: - 1 - байт загружается - 0 - вместо него ставится ноль Самое интересное начинается, когда маска полностью нулевая: #include <x86intrin.h> void f(const char *p) { _mm512_maskz_loadu_epi8(0, p); } При нулевой маске память фактически не читается, а…
C23 сделал enum в C заметно удобнее для низкоуровневого кода. Раньше базовый тип перечисления обычно выбирал компилятор, и enum часто занимал размер обычного int : enum status { OK = 0, ERROR = -1 }; На многих системах это 4 байта. В C23 можно явно указать базовый тип: enum status8 : int8_t { OK8 = 0, ERR8 = -1 }; Теперь такой enum занимает 1 байт. Можно и наоборот использовать большой тип: enum status64 : uint64_t…
Minimum-Cost Maximum-Flow всего в ~110 строках C++ Хороший компактный пример одного из самых полезных алгоритмов на графах. Задача MCMF: провести через сеть максимально возможный поток и одновременно сделать его стоимость минимальной. В этой реализации: - residual graph хранит оставшиеся возможности для потока - SPFA каждый раз ищет самый дешёвый увеличивающий путь - после поиска определяется bottleneck - сколько…
🐧 Linux Cheat Sheet - шпаргалка по командам Linux Самая удобная шпаргалка по Linux и Bash на русском: теория простым языком (как устроены файлы, процессы, права, память, загрузка и сеть), команды терминала, права доступа, процессы, сеть, SSH, systemd, grep/sed/awk, Vim и готовые однострочники - с примерами. А для тех, кто идёт дальше, - продвинутый уровень: Bash для профи, LVM и RAID, трассировка и…
` 🤖 В SourceCraft появилась команда цифровых разработчиков Агентам можно назначать задачи прямо в GitLab. Они работают под собственными учётными записями, выполняют поручения и возвращают результат разработчику. Если по ходу работы чего-то не хватает, агент сам запрашивает данные или согласование у команды — то есть не останавливается на первом незаполненном месте. Ещё можно подключить собственного агента, в том…
😂 Собеседование на C++ прошло успешно HR: у вас есть опыт с C++? Я: конечно, отлично знаю оператор `goes to` . int x = 10; while (x --> 0) { std::cout << x << '\n'; } Никакого специального --> оператора в C++ тут нет. Это просто: x-- > 0 Сначала берётся текущее значение x и сравнивается с 0, а затем x уменьшается на единицу. Поэтому код выведет: 9 8 7 6 5 4 3 2 1 0 Один из тех C++-трюков, который выглядит как…
Физически корректный ray tracer всего в 99 строках C++ smallpt от Kevin Beason - один из самых известных примеров того, насколько компактным может быть настоящий path tracer. В этих 99 строках есть: * отражения * преломления * мягкие тени * color bleeding * зеркальные и стеклянные поверхности Основа при этом минимальная: векторы, лучи, сферы и одна рекурсивная функция radiance() . Если дать рендеру тысячи samples…