Веб-версияОткрыть в Telegram

ПостСобираем простой dispatcher команд на C++!

8 сентября 2026
C
C/C++ Ready | Программирование
Собираем простой dispatcher команд на C++! Иногда программа принимает строковую команду и должна вызвать нужное действие. Самый быстрый путь часто начинается с цепочки if. Например, так легко получить длинный блок условий: if (cmd == "build") build(); else if (cmd == "clean") clean(); else if (cmd == "status") status(); Когда команд становится больше, такой код сложнее расширять и тестировать. Удобнее явно завести таблицу команд. Опишем тип обработчика: using Handler = void (*)(); Теперь можно собрать словарь: std::unordered_map commands{ {"build", build}, {"clean", clean}, {"status", status} }; Вызов становится коротким и одинаковым для всех команд: auto it = commands.find(cmd); if (it != commands.end()) { it->second(); } Если команда не найдена, можно отдельно обработать ошибку: if (it == commands.end()) { std::cout << "unknown command\n"; return; } Такой dispatcher удобно использовать в CLI-утилитах, тестовых меню, админских командах и маленьких инструментах. Новая команда добавляется одной строкой в таблицу, а не ещё одной веткой в середине логики. 📣 C++ Ready | #практика
16 · 2K ·

Рядом в ленте

CC/C++ Ready | ПрограммированиеСильная статья про high performance на C++ для CPU! Автор объясняет, как подходить к ускорению кода. Разбирается CPU, кеши, профилирование, бенчмарки, sanitizerCC/C++ Ready | ПрограммированиеШпаргалка по smart pointers в C++! Например, std::unique_ptr показывает единственное владение объектом, std::shared_ptr разделяет владение через счётчик ссылок,
это сообщение
CC/C++ Ready | ПрограммированиеРазбираем std::filesystem 7 функций для работы с файлами! std::filesystem помогает работать с путями, директориями и файлами без ручной склейки строк и платформCC/C++ Ready | ПрограммированиеПарсим простой CSV без сторонних библиотек на C++! Иногда нужно разобрать строку CSV из лога, экспорта или конфигурации. Если формат простой, можно обойтись ста
CC/C++ Ready | ПрограммированиеC/C++ Ready | Программирование@cpp_ready · канал · Технологии
15 601подписчиков2 259средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем