cpp / intermediate
Snippet
Optimierte Referenzen in Schleifen
Beim Iterieren über Container mit Objekten wie Strings vermeidet die Verwendung einer 'const reference' teure Kopieroperationen bei jeder Iteration.
snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <vector>#include <string>void process(const std::vector<std::string>& list) {for (const std::string& item : list) {// Read item without copying}}int main() {std::vector<std::string> data = {"Hello", "World"};process(data);return 0;}
Erklärung
1
const std::string& item
Verhindert das Kopieren des String-Objekts in die Schleifenvariable, was die Leistung verbessert.
2
const
Stellt sicher, dass die Schleifenvariable den ursprünglichen Inhalt des Vektors nicht verändern kann.