Grundlegendes zur bereichsbasierten for-Syntax in C 11
Bereichsbasierte for-Schleifen in C 11 bieten eine vereinfachte Syntax für die Iteration über Container. Die Syntax variiert je nachdem, ob Sie die Elemente des Containers beobachten oder ändern möchten.
Zum Beobachten von Elementen
Um Elemente zu beobachten, ohne sie zu ändern, lautet die empfohlene Syntax:
for (const auto& elem : container)
Diese Syntax erfasst die Elemente durch Konstantenreferenz und vermeidet unnötige Kopien in Fällen, in denen die Objekte teuer sind kopieren.
Zum Ändern von Elementen
Wenn Sie Elemente an Ort und Stelle ändern müssen, lautet die Syntax:
for (auto& elem : container)
Diese Syntax erfasst die Elemente durch nicht konstante Referenz, sodass Sie sie im Schleifenkörper ändern können.
Sonderfall: Proxy Iteratoren
Für Container, die Proxy-Iteratoren verwenden (z. B. std::vector
for (auto&& elem : container)
Diese Syntax verwendet den Typmodifikator „&&“, um korrekt mit dem Proxy zu funktionieren Iteratoren.
Zusammenfassung
Das obige ist der detaillierte Inhalt vonWie wählt man die richtige C 11-bereichsbasierte „for'-Schleifensyntax aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!