Blog der Heimetli Software AG

Range for mit einer initializer_list

Beim Nachlesen der Syntax für ein range for ist mir aufgefallen dass die Schleife auch über eine initializer_list laufen kann.

Das wird anscheinend selten gebraucht, obwohl ähnliche Konstruktionen in anderen Sprachen häufig vorkommen.

Damit ich beim nächsten mal dran denke und es einfach nachschlagen kann, poste ich hier ein kleines Code-Beispiel:

#include <iostream>

using namespace std ;

int main()
{
   for( auto &var : { 1, 1, 2, 3, 5, 8, 13, 21 } )
      cout << var << " " ;
   cout << endl ;

   return 0 ;
}

Ich denke, dass diese Form der Schleife in bestimmten Situationen ganz nützlich ist. Klar geht es auch mit einem entsprechend initialisierten vector oder Array, aber der Loop direkt auf der Liste scheint mir klarer.