C ++ 11 bereichsbasierte for-Schleifen ohne Schleifenvariable

In C++ muss ich Durchlaufen, eine bestimmte Anzahl von Zeiten, aber ich brauche nicht eine iteration variable. Zum Beispiel:

for( int x=0; x<10; ++x ) {
    /* code goes here, i do not reference "x" in this code */
}

Ich weiß, ich kann dies tun, indem ersetzen Sie "code geht hier" mit einem lambda-Ausdruck oder eine benannte Funktion, aber diese Frage ist speziell für loops.

Ich hatte gehofft, dass die C++11-die range-basierte for-Schleifen helfen würde:

for( auto x : boost::irange(0,10) ) {
    /* code goes here, i do not reference "x" in this code */
}

aber die oben genannten gibt eine "unreferenzierte lokale variable", da ich nie explizit Bezug x.

Frage ich mich, ob es eine elegantere Art und Weise zu schreiben, die über for-Schleifen, so dass der code nicht generieren ein "unreferenzierte lokale variable" Warnung.

InformationsquelleAutor der Frage nonagon | 2013-07-17

Schreibe einen Kommentar