In C ist die Übergabe von Argumenten an Funktionen per Referenz oder Zeiger eine gängige Praxis, um die tatsächlichen Werte außerhalb des Funktionsbereichs zu ändern . Es kann jedoch verwirrend sein, zu verstehen, wann welche verwendet werden soll.
Übergabe als Referenz
Die Übergabe als Referenz ermöglicht den direkten Zugriff und die Änderung der ursprünglichen Variablen. Es ist nützlich für:
Übergabe per Zeiger
Übergabe per Zeiger ermöglicht indirekten Zugriff auf die Variable über einen Zeiger. Dies ist erforderlich, wenn:
Gute Vorgehensweisen
Als allgemeine Richtlinie wird die Verwendung empfohlen Verweise, wenn:
Verwenden Sie Zeiger, wenn:
Beispiel
Der folgende Codeausschnitt zeigt ein häufiges Szenario, in dem eine Referenz zum Übergeben eines großen Objekts verwendet wird:
void foo(std::string& s) { s += "suffix"; }
Die Übergabe eines Zeigers wäre in diesem Fall geeignet, wenn die Funktion ein neues String-Objekt erstellen müsste:
void foo(std::string* s) { *s = "new string"; // Deallocates the old string }
In seltenen Fällen kann auch die Übergabe eines Werts angemessen sein, z wenn das Kopieren eines kleinen unveränderlichen Objekts (z. B. eines primitiven Typs) kein Problem darstellt.
Das obige ist der detaillierte Inhalt vonWann sollten Sie Referenzen vs. Zeiger in C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!