Heim > Artikel > Backend-Entwicklung > Wann sollten Sie Referenzen und wann Zeiger in C verwenden?
Übergabe per Referenz vs. Zeiger in C
Bestimmen, wann per Referenz und wann per Zeiger übergeben werden soll, kann in C eine verwirrende Angelegenheit sein C . Lassen Sie uns die Vor- und Nachteile jedes Ansatzes untersuchen.
Weitergabe durch Referenz
Vorteile:
Nachteile:
Übergabe per Zeiger
Vorteile:
Nachteile:
Best Practices
Eine allgemeine Faustregel lautet: „Verwenden Sie Referenzen, wenn Sie können, und Zeiger, wenn Sie müssen.“ Zum Beispiel:
Beispiel
Betrachten Sie den folgenden Codeausschnitt:
int main() { map<string, shared_ptr<vector<string>>> adjacencyMap; vector<string>* myFriends = new vector<string>(); myFriends->push_back(string("a")); myFriends->push_back(string("v")); myFriends->push_back(string("g")); adjacencyMap["s"] = shared_ptr<vector<string>>(myFriends); return 0; }
In diesem Beispiel ist die Verwendung eines Zeigers zum Übergeben von myFriends angemessen, da wir damit eine erstellen können neuen Vektor und übergeben Sie dann einen gemeinsamen Zeiger darauf. Es ist jedoch wichtig, daran zu denken, myFriends explizit zu löschen, um Speicherverluste zu vermeiden.
Das obige ist der detaillierte Inhalt vonWann sollten Sie Referenzen und wann Zeiger in C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!