Übergabe per Referenz oder Zeiger in C: Ein Leitprinzip
In C verstehen, wann die Übergabe per Referenz und wann Zeiger verwendet werden sollten ist entscheidend. Diese Vorgehensweise kann zu effizientem und fehlerfreiem Code führen.
Allgemeine Situationen
Übergabe eines std::string an eine Funktion:
Übergabe eines tr1::shared_ptr an eine Funktion:
Zeiger vs. Referenzen
Die Übergabe per Referenz bietet Konsistenz, da jedes Objekt als Referenz behandelt werden kann. Die Übergabe von Zeigern bietet jedoch die Flexibilität, Nullptrs und Literale zu verarbeiten.
Snippet-Analyse
Das angegebene Snippet:
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);
hebt die Notwendigkeit hervor um die Eigenschaften von Referenzen und Zeigern zu berücksichtigen:
Faustregel
Letztendlich das Richtige Die Wahl hängt von den spezifischen Anforderungen ab. Beachten Sie als Leitprinzip Folgendes:
Das obige ist der detaillierte Inhalt vonWann sollte in C eine Referenz oder ein Zeiger übergeben werden: Ein Leitprinzip?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!