【发布时间】:2014-06-28 18:53:34
【问题描述】:
我有一个 c++ 程序,它的 main 函数看起来像这样:
if(a.size == 2) {
if(s1) {
f1(a[0], a[1], "string1");
}
else{
f1(a[0], a[1], "string2");
}
}
if(a.size == 1) {
if(s1) {
f1(a[0], "string1");
}
else{
f1(a[0], "string2");
}
}
else {
if(s1) {
f1("string1");
}
else{
f1("string2");
}
}
...
...
...
...
a 和 s1 是从命令行选项接收的。
它有许多命令行选项和许多层if...else.. 结构,看起来更加混乱。
有什么改善的方法吗?
【问题讨论】:
-
似乎您已经拥有解析所有命令行选项并将其结果存储在变量中的代码,例如
a和s1。您是想重新设计/替换产生这些变量的代码,还是只是想要一种更简洁的方式来处理已经放置在这些变量中的数据? -
这些变量已经是 boost 解析器的结果,所以我正在寻找一种更好地处理这些变量的方法,而不是获取它们的方法。
-
将这些变量初始化为默认值,然后在命令行选项中更改它们。
标签: c++ command-line command-line-arguments