Inne odpowiedzi są całkiem dobre. W C. jest trochę historii. W C ++ istnieje różnica między konstruktorem a operatorem przypisania.
Dziwię się, że nikt nie wspomina o dodatkowej kwestii: oddzielenie deklaracji od użycia zmiennej może być czasem znacznie bardziej czytelne.
Mówiąc wizualnie, podczas czytania kodu, bardziej przyziemne artefakty, takie jak typy i nazwy zmiennych, nie są tym, co na ciebie wyskakuje. Są to stwierdzenia , które zazwyczaj najbardziej Cię interesują, spędzasz najwięcej czasu, wpatrując się w nie, a więc masz tendencję do zerkania na resztę.
Jeśli mam kilka typów, nazw i przydziałów, wszystko dzieje się w tej samej ciasnej przestrzeni, to trochę przeciążam informacje. Co więcej, oznacza to, że dzieje się coś ważnego w przestrzeni, na którą zwykle spoglądam.
Może to wydawać się nieco sprzeczne z intuicją, ale jest to jeden przypadek, w którym zwiększenie źródła zajmuje więcej miejsca w pionie. Uważam, że jest to podobne do tego, dlaczego nie powinieneś pisać wypełnionych dżemem linii, które wykonują szalone ilości arytmetyki wskaźnika i zadania w ciasnej pionowej przestrzeni - tylko dlatego, że język pozwala ci uciec od takich rzeczy, nie oznacza, że powinieneś to cały czas. :-)