Zitat von
hsg:
Und wie mkinzler schon gesagt hat: normalerweise ist der Geltungsbereich der Variablen nach der Schleife zu Ende.
So sagt der Standard. Und auf den kommt es an.
Ebendieser ist übrigens auch daran schuld, daß z.B. #include <iostream.h> nicht mehr funktioniert. Es heißt <iostream> !
Zitat von
hsg:
Nur dass, da Microsoft mal wieder andere Vorstellung hat.
IIRC war das beim MSVC 6.0 (1998!) so. Die aktuellen Microsoft-Compiler erfüllen den C++-Standard ziemlich gut.
@Muetze1: Sogar Kernighan und Ritchie benutzen printf() und nicht puts() für ihr Hello World. Vermutlich zugunsten der Konsistenz
Zitat von
SirThornberry:
sowas macht man ja auch nicht (eine Variable 2 mal declarieren).
Genau. Und Variablen definiert man am Anfang des Blockes
Das ist C++, nicht Delphi oder C. In C++ findet, da u.a. im Gegensatz zu den anderen gängigen objektorientierten Sprachen wie Delphi Stackobjekte eine große Rolle spielen, zumeist RAII (Resource Acquisition Is Initialisation) Anwendung.