Was ist Const Referenz in C ++ -

Was ist Const Referenz in C ++ -
In C ++ sind Referenzen wie Zeiger, haben aber unterschiedliche Unterschiede. Erstens kann Referenzen kein Nullwert zugewiesen werden. Zweitens können arithmetische Operationen nicht an Referenzen durchgeführt werden. Nach der Initialisierung einer Referenz kann sie nicht auf eine andere Variable verweisen. Außerdem können Referenzen nicht mit dem Operator (*) derenferenziert werden.

Wenn es darum geht, Argumente an Funktionen weiterzugeben, gibt es drei Möglichkeiten, dies zu tun:

  • Nach Wert passieren
  • Durch Referenz passieren
  • Pass durch Const Const Referenz

In diesem Tutorial werden wir speziell diskutieren Const Referenz, seine Erklärung und seine Implementierung im Detail.

Was ist Const Referenz in C++?

Eine const -Referenz in C ++ ist eine Referenz mit dem Schlüsselwort const. Es ist einfach ein Hinweis auf Konstanten. Wenn wir einen Const -Referenz initialisieren, den Wert, dass Const -Referenzpunkte nicht geändert werden können, bleibt sie im gesamten Code unverändert.

Erklären einer Referenz als Const ist in Situationen nützlich.

So deklarieren Sie Const Reference in C++?

In c++, Const Referenz kann auf folgende Weise deklariert werden:

  • Als Funktionsparameter
  • Als Klassenmitgliedvariablen
  • Als lokale Variable

1: DECLARE CONT -Referenz als Funktionsparameter deklarieren

Wenn wir eine Funktion deklarieren, um eine CONT -Referenz als Parameter zu nehmen. Dies ist nützlich, wenn wir ein Objekt an eine Funktion übergeben möchten, ohne dass die Funktion es ändern kann.

Das Folgende ist der Code für einen solchen Fall:

#enthalten
void printValue (const int & value)
std :: Cout << "The value is: " << value << std::endl;

int main ()
int val = 15;
printValue (val);
Rückkehr 0;

Dies handelt.

Ausgang

2: DECLARE CONT -Referenz als Klassenmitgliedvariablen deklarieren

Wenn eine Klassenmitgliedvariable als CONT -Referenz deklariert wird, kann sie in der Konstruktorinitialisierungsliste initialisiert und dann in der gesamten Klasse verwendet werden, ohne geändert zu werden. Dies kann dazu beitragen, die Effizienz des Codes zu verbessern, indem unnötige Kopien und Änderungen von Objekten vermieden werden.

Das Folgende ist der Code für einen solchen Fall:

#enthalten
Klasse myclass
öffentlich:
MyClass (const int & value): m_value (value)
void printValue () const
std :: Cout << "The value is: " << m_value << std::endl;

Privatgelände:
const int & m_value;
;
int main ()
int val = 15;
Myclass MyObject (Val);
myObject.printValue ();
Rückkehr 0;

Der obige Code definiert eine Klasse, die einen Konstruktor hat, der einen Const -Verweis auf eine Ganzzahl als Parameter nimmt und eine private Elementvariable m_Value damit initialisiert. Die Klasse hat auch ein Mitgliedsfunktion PrintValue, das den Wert von m_Value zur Konsole druckt. In der Hauptfunktion wird ein Objekt vom Typ Myclass mit einem Ganzzahlwert 15 erstellt, und seine PrintValue -Funktion wird aufgerufen, um den Wert in die Konsole zu drucken.

Ausgang

3: DECLARE CONT -Referenz als lokale Variablen deklarieren

Eine CONT -Referenz kann auch als lokale Variable verwendet werden, um ein vorhandenes Objekt zu verweisen, ohne eine Kopie zu erstellen.

Das Folgende ist der Code für einen solchen Fall:

#enthalten
int main ()
int val = 15;
const int & ref = val;
std :: Cout << "Value: " << val << std::endl;
std :: Cout << "Reference: " << ref << std::endl;
Rückkehr 0;

Im obigen Code deklarieren wir einen ganzzahligen Variablenwert und initialisieren ihn mit dem Wert 15. Wir deklarieren dann einen ständigen Hinweis auf einen Ganzzahlref und initialisieren sie mit dem Wertwert.

Ausgang

Abschluss

TH Const Referenz ist ein nützliches Merkmal in C ++, das wie ein Zeiger wirkt, aber mit einigen wichtigen Unterschieden. Es kann nicht den Wert der Variablen ändern, an die sie verbunden ist und kann auf verschiedene Arten verwendet werden, z. B. Funktionsparameter, Klassenelementvariablen und lokale Variablen. Um die Anwendungsfälle von Const -Referenzen in C ++ besser zu verstehen, enthält dieser Artikel detaillierte Richtlinien mit Codierungsbeispielen für jede dieser Möglichkeiten.