Инициализация переменных в операторе if

Я читал, что в C ++ 17 мы можем инициализировать переменные в if выражениях, подобных этому

if (int length = 2; length == 2)
    //execute something

вместо

int length = 2;
if (length == 2)
    //do something

, хотя короче, это влияет на читаемость кода (особенно для людей, которые не знают эту новую функцию), что, я полагаю, является плохой практикой кодирования для разработки большого программного обеспечения.

Есть ли преимущество использования этой функции, кроме как сделать код короче?

78
задан Fifoernik 10 July 2019 в 10:23
поделиться