Hi,
Bei der Deklaration einer Variable kann man erwarten, dass sie mit einem definierten Initialwert gefüllt wird.
nein, das erwarte ich erst bei der Initialisierung oder Definition (Deklaration und Intitialisierung in einer Anweisung).
Wenn nun in der selben Code-Ebene eine weitere Schleife folgt, erachte ich eine Redeclaration als ziemlich natürlich. Ich stehe immer wieder vor dem Zwiespalt, die Warning zu ignorieren oder den eher unintuitiven Code ohne Deklaration zu wählen.
Da bin ich als gewohnheitsmäßiger C-Programmierer ganz anders geprägt. Am Anfang eines neuen Scopes (i.d.R. Funktionskopf) wird eine Variable deklariert, und dann kann ich sie innerhalb des Scopes beliebig oft wiederverwenden. Dabei muss ich selbst darauf achten, ob ich die bisher zugewiesenen Werte überschreiben will/darf oder nicht.
Mich stört schon die Schlampigkeit, die mit C++ eingeführt wurde, dass man neue Variablen an jeder Stelle im Programmcode deklarieren kann.
Schönen Abend noch,
Martin