例如,我想到了这样的情况:
string param1 (argv[i+1]);
我知道这有可能看出数组长度,有没有办法在程序中声明每当我放置这样的语句时会分配一个默认值,就像显然不正确的字符串param1(argv) [i + 1]或“默认”);
答案 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");