Zitat von
Xong:
Zumal es auch nicht sehr günstig ist, eine Variable in einer Schleife zu deklarieren.
Besser wäre deshalb:
Code:
for(int i,k = 0; i < 10; i++) {
for(k = 0; k < 10; k++) {
// Mach was...
}
}
Nein, die Sichtbarkeit einer Variable sollte so restriktiv wie möglich sein. Außerhalb der inneren for-Schleife ist k nicht notwendig, und hat dort somit nur sehr wenig verloren. Zudem passieren dann auch nicht solche Dinge, dass man vergisst, i zu initialisieren
Aber 2 gleiche Variablennamen in einer Funktion sind schon unter aller Sau. Zwar hat der innerste Block immer Priorität, aber eben wie du schon sagtest, Zugriff auf die Variable des äußeren Blocks ist dann unmöglich. Zudem ist es extremst unleserlich...
Zitat:
Nur kurz dazu: Im VS 2005 geht das glücklicherweise problemlos, im Schleifenkopf die gleichen Variablen zu deklarieren/definieren.
Ich mache das immer so.
Zumindest bei C++-Datein gehts. Wenn der Compiler auf C-Code beschränkt wird (einfach durch .c statt .cpp als Dateiendung) können Variablen nur zu Funktionsbeginn deklariert werden
greetz
Mike