Czytałem, że w C ++ 17 możemy inicjalizować zmienne w if
takich instrukcjach
if (int length = 2; length == 2)
//execute something
Zamiast
int length = 2;
if (length == 2)
//do something
Mimo że jest krótszy, wpływa na czytelność kodu (szczególnie dla osób, które nie znają tej nowej funkcji), co, jak sądzę, jest złą praktyką kodowania w przypadku tworzenia dużego oprogramowania.
Czy korzystanie z tej funkcji ma inne zalety niż skrócenie kodu?