Eigentlich sind das zwei verwandte Fragen.Kürzel für for-Schleife - syntaktischer Zucker in C++ (11)
Ich weiß, dass es eine neue Syntax ist in C++ 11 für bereichsbasierte for
Schleifen der Form:
//v is some container
for (auto &i: v){
// Do something with i
}
Erste Frage: Wie kann ich ableiten, welche Iteration ich in dieser Schleife bin? (Angenommen, ich möchte einen Vektor mit dem Wert j an Position j füllen).
Zweite Frage: Ich wollte wissen, ob es auch eine andere Möglichkeit ist es, eine Schleife der Form
for (int i=0; i<100; i++) { ... }
ich diesen Weg finden, schreiben Sie es ein bisschen umständlich zu schreiben, und ich tue dies so oft und Ich hätte gerne eine präzisere Syntax dafür. Etwas entlang der Linien:
for(i in [0..99]){ ... }
wäre toll.
Für beide Fragen möchte ich vermeiden, zusätzliche Bibliotheken zu verwenden.
Wenn Sie nur einen Vektor mit dem Wert j an der Position j * füllen möchten, können Sie [std :: iota()] verwenden (http://en.cppreference.com/w/cpp/algorithm/iota) –
Eine Frage nach der anderen, bitte. Dann können wir jedes als Duplikat der bereits vorhandenen Frage schließen, nach der Sie nicht gesucht haben. :) –
@Anton Thx für das Iota! Es ist nicht _all_ ich will, aber es ist sicherlich gut zu wissen. – dingalapadum