Библиотека Program_options позволяет разработчикам программ получитьопции программы, то есть пар (имя, значение) от пользователя, с помощью обычных методов, таких как командная строка и файл конфигурации.
Зачем использовать такую библиотеку, и почему это лучше, чем разбирать командную строку простым рукописным кодом?
- Это проще. Синтаксис объявления опций прост, а сама библиотека мала. Такие вещи, как преобразование значений опционов в желаемый тип и хранение в переменные программы, обрабатываются автоматически. 
- Ошибки лучше. Сообщаются все проблемы с командной строкой, в то время как рукописный код может просто неправильно оценить ввод. Кроме того, сообщение об использовании может генерироваться автоматически, чтобы избежать потери синхронизации с реальным списком опций. 
- Варианты можно читать из любого места. Рано или поздно командной строки будет недостаточно для ваших пользователей, и вам понадобятся конфигурационные файлы или даже переменные среды. Их можно добавлять без значительных усилий с вашей стороны. 
Теперь рассмотрим некоторые примеры использования библиотеки вразделе под названием “Tutorial”.