Манипуляторы — не просто функции. Они изменяют внутренние флаги потока.
std::ostream хранит std::ios_base::fmtflags:std::cout << std::hex << 255; // ff
std::cout << 10; // a (всё ещё hex!)
std::cout.setf(std::ios::hex, std::ios::basefield);
// Эквивалентно std::hex
std::cout << std::hex << 255;
// Или
std::ios oldState(nullptr);
oldState.copyfmt(std::cout);
// ... вывод ...
std::cout.copyfmt(oldState); // Восстановление
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что можно сказать об этом коде?
Anonymous Quiz
33%
Выведет 0
23%
Выведет nullptr
18%
Выведет 0x0
13%
Ошибка компиляции
14%
Неопределённое поведение
😁2
🔗 libfoo.a vs libfoo.so: что выбрать?
Статическая и динамическая линковка — это выбор между размером бинарника и удобством обновлений.
❗️ Статическая линковка (.a на Linux, .lib на Windows):
✅ Один файл, работает везде
❌ Большой размер (мегабайты вместо килобайт)
❌ Обновление библиотеки = пересборка всего
❗️ Динамическая линковка (.so на Linux, .dll на Windows):
✅ Маленький бинарник
✅ Обновление библиотеки не требует пересборки
❌ Нужна библиотека на целевой системе
❌ "DLL hell" / dependency conflicts
🐸 Когда что использовать:
Статика: embedded, CLI-утилиты, дистрибуция
Динамика: системные демоны, плагины, shared libs
💡 Проверить зависимости:
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Статическая и динамическая линковка — это выбор между размером бинарника и удобством обновлений.
g++ main.cpp -static -o program
g++ main.cpp -o program # По умолчанию
✅ Маленький бинарник
✅ Обновление библиотеки не требует пересборки
❌ Нужна библиотека на целевой системе
❌ "DLL hell" / dependency conflicts
Статика: embedded, CLI-утилиты, дистрибуция
Динамика: системные демоны, плагины, shared libs
ldd ./program (Linux)📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
AI-агенты 2026: системный подход к автономности
Даже в мире
Что разберём на курсе:
— архитектура
— построение сверхбыстрых
— протокол
— оркестрация через
🎁 До 12 января действует акция «3 в 1»: курс по ИИ-агентам + 2 курса в подарок.
Прокачать системный AI
Даже в мире
C++ нельзя игнорировать ИИ. В новом году мы учимся проектировать высокопроизводительные системы, где логику принятия решений берут на себя агенты.Что разберём на курсе:
— архитектура
ReAct: как разделить логику и действия агента;— построение сверхбыстрых
RAG-систем для работы с документацией;— протокол
MCP: как подружить разные модели в одной системе;— оркестрация через
n8n для автоматизации разработки.🎁 До 12 января действует акция «3 в 1»: курс по ИИ-агентам + 2 курса в подарок.
Прокачать системный AI
👍3🥰1
🐸 Подборка вакансий для C++-разработчиков за неделю
C Developer (VPP/DPDK) — от 200 000 ₽ Офис/удалёнка (Москва)
Программист С/Linux — от 300 000 ₽ Удалёнка
C/C++ Developer — от 400 000 ₽ Удалёнка
Reverse engineer — от 400 000 ₽ Гибрид (Санкт-Петербург)
C++-разработчик (Linux) — Удалёнка
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
C Developer (VPP/DPDK) — от 200 000 ₽ Офис/удалёнка (Москва)
Программист С/Linux — от 300 000 ₽ Удалёнка
C/C++ Developer — от 400 000 ₽ Удалёнка
Reverse engineer — от 400 000 ₽ Гибрид (Санкт-Петербург)
C++-разработчик (Linux) — Удалёнка
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
👍2
Forwarded from Библиотека задач по C++ | тесты, код, задания
🤔 Теоретический вопрос
Вопрос: У map и set есть методы
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Вопрос: У map и set есть методы
find() и count(). Оба могут проверить наличие элемента. В чём разница и когда какой метод предпочтительнее использовать с точки зрения производительности?📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
😁3❤2
Многие разработчики думают, что
compare_exchange_weak — это просто облегчённая версия compare_exchange_strong. На самом деле у неё есть неочевидное поведение: она может вернуть false, даже если значение совпадает.На некоторых архитектурах (ARM, PowerPC) атомарные операции реализованы через инструкции load-link/store-conditional (LL/SC). Процессор помечает адрес памяти при чтении и проверяет при записи — не изменился ли он.
Но вот проблема: между LL и SC может произойти spurious failure — ложный отказ. Это случается, если:
• Произошло переключение контекста
• Кеш-линия была вытеснена
• Другой процессор обратился к соседней памяти
std::atomic<int> counter{0};
int expected = 0;
// Может вернуть false, даже если counter == 0!
bool success = counter.compare_exchange_weak(expected, 1);Всегда используй compare_exchange_weak в цикле. Для однократных попыток бери compare_exchange_strong — она гарантирует, что false означает реальное несовпадение значений.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5👍3
Forwarded from Библиотека задач по C++ | тесты, код, задания
Сколько копирований гарантировано в C++17?
Anonymous Quiz
44%
0
28%
1
8%
2
15%
Зависит от компилятора
5%
UB
😁1