В C ++ вы можете сделать что-то вроде этого:
if (bool b = (a == b)) {
// Do something with b here...
}
или:
if (double d2 = d1) {
// ...
}
Однако я никогда не видел, чтобы этот стиль использовался в реальном коде.Я думаю, что всегда есть более ясный способ написать одно и то же.
Более того, попытка объявить несколько переменных в условной части оператора if
или while
не поддерживается.Вам придется прибегнуть к вложенным if
s или else if
, чтобы получить ту же семантику.
Пример:
if (double d2 = d1) {
cout << "wow" << endl;
} else if (double d3 = 10) {
cout << "wow" << endl;
}
Этот способ d3
создается только в том случае, если d2
оценивается как ложное.