Можно ли присвоить значение по умолчанию переменной, если первое значение не существует? - PullRequest
1 голос
/ 16 января 2012

например, я думаю о такой ситуации:

string param1 (argv[i+1]);

и я знаю, что возможно, что это может выглядеть не так, как длина массива, есть ли способ объявить в программе, что всякий раз, когда я ставлю такой оператор, будет назначаться значение по умолчанию, что-то вроде некорректной строки param1 (argv [i + 1] или «по умолчанию»);

Ответы [ 3 ]

6 голосов
/ 16 января 2012

А как же:

string param1((i < argc-1) ? argv[i+1] : "default");
2 голосов
/ 16 января 2012

Хм, ну, очевидное.

char const * avi1 = "default";
if (argc > (i + 1)) {
    avi1 = argv[i+1];
}
string param1(avi1);
1 голос
/ 16 января 2012

Краткий ответ: нет.

Если вы знаете, что это может выглядеть за пределами длины массива, проверьте это вручную. Что-то вроде

string param1((i < argc-1) ? argv[i+1] : "default");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...