在用C++编写可运行程序时,经常需要输入除了可运行文件之外的其它的命令行参数,可以用传统的getopt函数来分析,本文基于面向对象,分析一种管理命令行参数方法 -- 来源于webrtc项目,在阅读过程中,大家分享一下。
一,传统命令行分析
包含头文件:
二,命令行参数管理
假设命令行的输入格式的规则如下:
2.1 参数的值封装---FlagValue
这个类对参数的值进行封装,如--prefix=/usr,作为一个命令行参数时,prefix为键,/usr为值。在参数中,在此定义值的类型为布尔、整型、浮点、字符串中的一种。
由于一个值在只能取四种的一种,所以此处用联合类型表示FlagValue。
这个联合类型对命令行中键值对中的值进行封装,可以表示四种类型。
2.2 命令行中键值的表示 -- Flag
这个类是表示一对键值的抽象,包含下列元素: