Quiero usar valores predeterminados para algunos de mis argumentos de línea de comandos. ¿Cómo le digo al program_options
cuál es la opción predeterminada y, si el usuario no proporciona el argumento, , cómo le digo a mi programa que use el valor predeterminado?¿Cómo obtengo los valores de los argumentos por defecto con las opciones del programa boost?
decir que quiero tener un argumento que especifica el número de robots para enviar en una campaña criminal con un valor por defecto de 3.
robotkill --robots 5
produciría 5 robots have begun the silicon revolution
, mientras que robotkill
(sin argumentos suministrados) producirían 3 robots have begun the silicon revolution
.
La solución a este problema no podría ser más simple, pero no pude encontrarla documentada en ningún lado, así que hice esta pregunta. – flies
Relacionado: cómo saber si el usuario ha proporcionado una opción con un valor predeterminado http://stackoverflow.com/questions/9200598/boost-program-options-with-default-values-always-present-when-using -vm-count ('count' no funciona, aparentemente porque incluso cuando no se proporciona la opción, el mapa variable asignará el valor predeterminado, por lo que el recuento nunca es cero) – flies
http://www.boost.org/doc/ libs/1_65_1/doc/html/boost/program_options/typed_value.html # idp698602832-bb para la descripción técnica y http://www.boost.org/doc/libs/1_65_0/doc/html/program_options/tutorial.html# idp419580960 para la explicación del tutorial relevante. Es cierto que tuve que buscarlos después de usar su respuesta para encontrar el nombre correcto que debe buscar. – patrickvacek