В C++17 появились инструкции выбора с инициализаторами (selection statements with initializers) if, if...else и switch. Теперь вы можете инициализировать переменные перед условием в инструкциях if и if...else, а также перед управляющим выражением в инструкции switch. Как и в инструкции for, область видимости таких переменных ограничена пределами той инструкции, где они объявлены.
C++20 для программистов
·
Пол Дейтел