如果第一个值不存在,是否可以为变量赋值?

时间:2012-01-15 21:35:25

标签: c++ default-value

例如,我想到了这样的情况:

string param1 (argv[i+1]);

我知道这有可能看出数组长度,有没有办法在程序中声明每当我放置这样的语句时会分配一个默认值,就像显然不正确的字符串param1(argv) [i + 1]或“默认”);

3 个答案:

答案 0 :(得分:6)

怎么样:

string param1((i < argc-1) ? argv[i+1] : "default");

答案 1 :(得分:2)

嗯,嗯,很明显。

char const * avi1 = "default";
if (argc > (i + 1)) {
    avi1 = argv[i+1];
}
string param1(avi1);

答案 2 :(得分:1)

简答:不。

如果您知道这可能看起来不在数组长度之内,请手动检查。类似

string param1((i < argc-1) ? argv[i+1] : "default");