TGViewer
C++95 C++95 @cxx95 · 1.51K subscribers
Post #152 4.91K
C++95 plusich1.png
#jostik

Intro
Прошлой осенью на работе подарили брелок-"ремувку" с вышитыми логотипом компании и надписью "Born to win".
Посыл хороший - круто от рождения быть победителем в чем-то (например в беге или баскетболе).
Но этот предмет совсем не передает дух времени - ремувки это для путешествий, а сейчас они сильно затруднены, например маршрут Амстердам - Москва имеет две пересадки ⚰️

Решил сделать что-то более актуальное - по приколу сделал патчи на липучке, эти услуги предлагают десятки контор 😁 На фото их среда обитания:
1. Вот они слева направо ❌
2. За несколько лет наиграл 800+ часов в хойке, тут мод "Kaiserredux" 😡
3. Образовываюсь во время долгих ребилдов всего репозитория 👩‍💻

Обзор жостиков C++
🤔 (номер 4️⃣)

1️⃣ Ужасы собеседований в HFT 😳
Иногда прохожу собесы в другие HFT - чтобы узнать что спрашивают по 👩‍💻 и какие условия. Сначала тебя находит очередная эйчарка и выпрашивает звонок под разными предлогами. Вообще, это guilty pleasure смотреть на их кринжово-смешные подкаты 😐

Потом наступает технический собес. Приятный техлид на том проводе предлагает перейти на "ты", и начать с короткого знакомства. Начинаем - я Евгений, мне 25, рост 192, <...>, люблю уравнения Максвелла, не люблю сырники. Какие планы на вечер? В планах провести собес.
- Напиши "single-producer single-consumer lock-free queue"

После этой простой задачи идет жесткое погружение в разные куски C++ - модель памяти, иерархия value category, особенности strict aliasing, чем хороши trivially-copyable в контейнерах и что там с лайфтаймами, и так далее.
Визави углубляется дальше, находятся вопросы которые заставляют реально думать... 🤔
- Для чего нужен std::hardware_destructive_interference_size?
- Расскажи какие ты знаешь протоколы когерентности кэшей в современных процессорах?

Наконец двухчасовая жесть закончена и мы прощаемся. Хотя формально вердикт скажет потом эйчарка, я понимаю что есть куда расти - а эта встреча была всего на один вечер. "Бро, тебе надо тренироваться" 💩 И смотреть больше лекций

Вот такие собесы надо проводить, а не "напиши бинпоиск" и "разверни список" 😎

2️⃣ GDB pretty printer 🎨
Часто в GDB трудно понять что за значение у объекта 🤔 Так как выводятся значения структур "как есть" (грубо говоря, вместо вектора - адрес в памяти и размер), и без дополнительных команд ничего не понятно.

В таком случае надо использовать pretty printers - это код на 👩‍💻 Python, который вызывается со стороны GDB и может помочь в выводе более человекочитаемой инфы - трогая указатели, вызывая всякие функции, и так далее 😎
В первую очередь такие есть для реализаций std - например для libcxx.
Потом свой принтер можно сделать для каждой крупной кодовой базы - пример для LLVM где куча своих контейнеров.

Сейчас для рабочей кодовой базы есть свой pretty-printer для вывода значений таких объектов наших классов:
(1) strong types
(2) fixed-point числа
(3) json-объекты
(4) даты

3️⃣ Лютая скриптовая система с LLVM 💪
Недавно вышло видео с C++ Russia, где круто описано как можно сделать скриптовую систему 👍
Там скриптовый язык либо (1) на лету компилится в объектник и используется; либо (2) компилится с основной прогой для большей оптимизации.
Из "налогов" - диспетчеризация вызова, по сути вызов виртуальной функции.

Эта система - для игровых движков, но думаю в других местах тоже было полезно.
Например, писать рисечерам торговые стратежки проще на скриптовом языке, потому что С++ не их домен

4️⃣ Passkey Idiom 🔒
Читая один пропозал, увидел интересную идиому "Passkey", которую можно использовать как урезанный "friend class" (нарезает доступ по функциям).
Судя по гуглингу, вроде популярная вещь, но раньше нигде ее не видел.
Может пригодиться в кодовых базах, где овер9000 штук friend class.

5️⃣ Elvis Operator 🕺
"elvis operator" это запись:
a ?: b

что равносильно:
a ? a : b

Пригождается несколько раз в год 😎
Это поддерживается основными компиляторами с -Wnognu-conditional-omitted-operand.
  • 🔥 15
  • 👍 13
  • ❤ 2
  • 😈 2
  • 🤪 1
More from @cxx95
  1. Sep 21, 2026#offtop Великое Мидревью 💼 В последнее время темы про C++ накапливаются медленно, и то та…
  2. Jun 17, 2026#jostik Обзор жостиков C++ 💼 (номер 5️⃣) В последние несколько месяцев совсем ничего не п…
  3. Jun 17, 2026document post
  4. Jan 7, 2026#compiler #ai На фото из марта 2024 - мерч с работы, это кофта и набор нашивок, которые мо…
  5. Jan 7, 2026document post
  6. Aug 18, 2025#books Текст в окружности - первые слова в опере (услышать) 🎤 📕 Обзор на книгу про памят…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →