C ++ 17 имеет операторы выбора с инициализатором
status_code foo() {
if (status_code c = bar(); c != SUCCESS) {
return c;
}
// ...
}
Я хотел бы написать while
-l oop и переменную с область действия ограничена для l oop и , инициализированных только один раз перед первой итерацией.
// fake example, doesn't compile, is doable in many ways
while (bool keep_trying = foo(); keep_trying) {
// do stuff
if (something)
keep_trying = false;
}
Есть ли что-то для этого в C ++ 17 или, возможно, в C ++ 2а