Heim > Backend-Entwicklung > C++ > Hauptteil

Wie verwende ich C++-Referenz- und Zeigerparameterübergabe?

WBOY
Freigeben: 2024-04-12 22:21:01
Original
1167 Leute haben es durchsucht

Referenzen und Zeiger sind in C++ beide Methoden zur Übergabe von Funktionsparametern, es gibt jedoch Unterschiede. Eine Referenz ist ein Alias ​​für eine Variable. Durch Ändern der Referenz wird die ursprüngliche Variable geändert, während der Zeiger die Adresse der Variablen speichert. Wenn Sie sich für die Verwendung einer Referenz oder eines Zeigers entscheiden, müssen Sie Faktoren berücksichtigen, z. B. ob die ursprüngliche Variable geändert werden muss, ob ein Nullwert übergeben werden muss, und Leistungsaspekte.

如何使用 C++ 引用和指针传参?

Leitfaden zur Referenz- und Zeigerparameterübergabe in C++

In C++ sind Referenzen und Zeiger zwei leistungsstarke Werkzeuge zur Übergabe von Funktionsparametern. Sie bieten eine Möglichkeit, Variablen in der aufrufenden Funktion innerhalb einer Funktion zu ändern.

Referenzen

Eine Referenz ist ein C++-Datentyp, der einen Alias ​​für eine andere Variable bereitstellt. Sobald eine Referenz erstellt wurde, werden alle daran vorgenommenen Änderungen in der Originalvariablen widergespiegelt.

Syntax:

Type& reference_variable = original_variable;
Nach dem Login kopieren

Beispiel:

int x = 10;
int& ref_x = x;

ref_x++; // 等同于 x++
cout << x << endl;  // 输出:11
Nach dem Login kopieren

Zeiger (Zeiger)

Ein Zeiger ist ein C++-Datentyp, der die Adresse einer anderen Variablen speichert. Auf primitive Variablen kann durch Dereferenzieren von Zeigern zugegriffen werden.

Syntax:

Type* pointer_variable = &original_variable;
Nach dem Login kopieren

Beispiel:

int y = 10;
int* ptr_y = &y;

*ptr_y++; // 等同于 y++
cout << y << endl;  // 输出:11
Nach dem Login kopieren

Parameterunterschied

KeineVerfügbarNeinPraktischer Fall - Werteaustausch in Funktionen.
FunktionenReferenzZeiger
Übergabemethode ReferenzwertAdresskopie
Änderung der ursprünglichen VariablenÄnderung der ursprünglichen VariablenKann ursprüngliche Variablen oder Adressen ändern
ZugriffskostenNiedrig (direkter Zugriff)Hoch (Dereferenzierung erforderlich)
Dynamik zuweisen SpeicherKonstante Referenz
Nicht verfügbarÜbergabe eines Nullwerts
OK
Verwenden Sie Referenzen, um Werte zu implementieren. Austausch:

void swap_by_ref(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}
Nach dem Login kopieren

Verwenden Sie Zeiger, um den Werteaustausch zu implementieren:

void swap_by_ptr(int* a, int* b) {
  int temp = *a;
  *a = *b;
  *b = temp;
}
Nach dem Login kopieren

Wählen Sie die Methode zum Übergeben von Parametern. Berücksichtigen Sie bei der Auswahl einer Referenz oder eines Zeigers zum Übergeben von Parametern bitte die folgenden Faktoren:

Ob die ursprüngliche Variable geändert werden muss :

Verwenden Sie ggf. Referenzen.
  • Müssen Sie einen Nullwert übergeben: Verwenden Sie bei Bedarf einen Zeiger.
  • Leistungsüberlegungen: Wenn Sie häufig auf die Originalvariable zugreifen müssen, verwenden Sie Referenzen.

Das obige ist der detaillierte Inhalt vonWie verwende ich C++-Referenz- und Zeigerparameterübergabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage