Referenzoperator in C++

Muhammad Husnain 11 Dezember 2023
  1. Verwendung des Referenzoperators in C++
  2. Vergleich von Referenzvariable und Zeigervariable in C++
Referenzoperator in C++

Dieser Artikel konzentriert sich auf den Referenzoperator &, auch Adresse von-Operator genannt.

Obwohl der Referenzoperator in mehreren Fällen ähnlich funktioniert, weist er wenige Unterschiede zwischen verschiedenen Programmiersprachen auf. Wir werden uns nur auf seine Verwendung in der Programmiersprache C++ konzentrieren.

Zuerst lernen wir die grundlegende Syntax und Konzepte kennen. Dann werden wir die allgemeine Verwirrung bezüglich der Verwendung von Referenzoperatoren in verschiedenen Kontexten beantworten.

Verwendung des Referenzoperators in C++

Syntax zum Deklarieren einer Referenzvariablen:

int &ref = m;
int & ref = m;
int& ref = m;
Notiz
Bei der Deklaration muss zwingend eine Referenzvariable initialisiert werden.

Der Operator & hat je nach Kontext, in dem er verwendet wird, unterschiedliche Verwendungen und Bedeutungen. Im folgenden Abschnitt werden die Aufgaben erläutert, die der Verweisoperator in C++ ausführt.

Beispiel:

// Simple integer type variable intialization
int m = 12;

// ref is a reference to m
int& ref = m;

// Print value of m
cout << "Original m = " << m << endl;
ref = 20;

// Print value of ref
cout << "Modified m = " << m << endl;

Im obigen Code haben wir 12 in der Variablen m gespeichert. Als nächstes haben wir das ref mit dem Referenzoperator auf das m verwiesen.

Zeigen bedeutet hier, dass ref die Speicheradresse der Variablen m hat. Wenn wir also den Wert von m aktualisieren, erhalten wir denselben aktualisierten Wert durch die ref-Variable, die die Referenzvariable ist.

Kurz gesagt, die Variable ref wurde zu einem Alias ​​für eine andere Variable, m. Wir können auch sagen, dass ref nur ein anderer Name für die tatsächliche Variable ist, die von m benannt wird.

Im obigen Code-Snippet haben wir ref 20 zugewiesen. Diese Änderung wird auch auf m mit einem aktualisierten Wert von 20 sichtbar sein.

Ausgabe:

Original m = 12
Modified m = 20

Vergleich von Referenzvariable und Zeigervariable in C++

Normalerweise verwechseln Lernende die Referenzvariable mit der Zeigervariablen.

Im vorherigen Abschnitt haben wir die Referenzvariable anhand von Beispielen ausführlich besprochen.

Zur Definition speichert eine Zeigervariable die Adresse einer Variablen im Speicher. Er verwendet den Referenzoperator, um seine Werte zu initialisieren oder zu definieren.

Sehen Sie sich den Code unten an, um die Verwendung von & mit einer Zeigervariablen zu verstehen; Dann besprechen wir die Unterschiede.

// Integer type variable intialization
int number = 88;

// Declare a pointer variable
int* ptrNumber;

// Assign the address of the "number" to "ptrNumnber"
ptrNumber = &number;

// Declare another int pointer and initialize it with the address of the number
int* pAnother = &number;

In diesem Code haben wir zuerst eine Zeigervariable ptrNumber deklariert und dann in der dritten Anweisung die Adresse von number zugewiesen. Dabei dient & als Adresse von-Operator und gibt die Speicheradresse von Zahl zurück, die dann dem Pointer ptrNumber zugewiesen wird.

Die letzte Anweisung im obigen Schnipsel weist die Adresse von number einem anderen Zeiger zu, pAnother bei der Deklaration. Es ist wichtig zu beachten, dass sich Zeigervariablen von Referenzvariablen unterscheiden.

Schauen wir uns die Unterschiede anhand der folgenden Tabelle an.

Zeigervariable Referenzvariable
Pointer hält die Speicheradresse einer Variablen. Referenzvariable ist ein Alias ​​für eine andere Variable.
Ein Indirektionsoperator * wird verwendet, um einen Zeiger zu dereferenzieren. Referenzvariable ist ein konstanter Zeiger, der keiner Dereferenzierung bedarf.
Es kann neu zugewiesen werden, um auf eine Vielzahl von Elementen zu verweisen. Sie muss bei der Initialisierung vergeben werden und die einmal gebildeten Adresswerte können nicht mehr geändert werden.
Einer Pointer-Variablen kann direkt ein NULL-Wert zugewiesen werden. NULL-Wert kann nicht direkt gesetzt werden.

Wenn der Operator & zusammen mit formalen Parametern in einer Funktion verwendet wird, macht er diese zu Referenzparametern. Weitere Informationen zu Referenz- und Wertparametern hier.

Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

Verwandter Artikel - C++ Operator