Hva er const -referanse i C ++

Hva er const -referanse i C ++
I C ++ er referanser som pekere, men har forskjellige forskjeller. For det første kan ikke referanser tildeles en nullverdi. For det andre kan ikke aritmetiske operasjoner utføres på referanser. For det tredje, når en referanse er initialisert, kan den ikke gjøres for å referere til en annen variabel. Henvisninger kan heller ikke bli henvist til operatøren (*).

Når det gjelder å overføre argumenter til funksjoner, er det tre måter å gjøre det på:

  • Passere etter verdi
  • Pass på referanse
  • PASS BY CONST REFERANSE

I denne opplæringen vil vi spesifikt diskutere const referanse, dens erklæring, og implementeringen av den.

Hva er const -referanse i C++?

En Const -referanse i C ++ er en referanse med Const -nøkkelordet. Det er ganske enkelt en referanse til konstanter. Når vi initialiserer en const -referanse, kan verdien som const referansepunkter ikke endres, og den vil forbli uendret gjennom hele koden.

Erklærer en referanse som const er nyttig i situasjoner der vi ønsker å forhindre endringer i objektet som blir referert til, samtidig som det gir effektiv tilgang til objektets verdi.

Hvordan erklære const -referanse i C++?

I c++, const referanse kan erklæres på følgende måter:

  • Som funksjonsparametere
  • Som klassemedlemvariabler
  • Som lokal variabel

1: erklære const -referanse som funksjonsparametere

Når vi erklærer en funksjon for å ta en Const -referanse som en parameter, kan den lese verdien av det refererte objektet, men kan ikke endre det. Dette er nyttig når vi ønsker å overføre et objekt til en funksjon uten å la funksjonen endre den.

Følgende er koden for et slikt tilfelle:

#inkludere
void printValue (const int & verdi)
std :: cout << "The value is: " << value << std::endl;

int main ()
int val = 15;
PrintValue (val);
retur 0;

Dette er en funksjon som heter PrintValue som tar en Const -referanse til et heltall som en parameter og skriver ut verdien av heltallet til konsollen.

Produksjon

2: erklære const -referanse som klassemedlemvariabler

Når en klassemedlemvariabel er erklært som en Const -referanse, kan den initialiseres i konstruktørinitialiseringslisten og deretter brukes i hele klassen uten å bli endret. Dette kan bidra til å forbedre effektiviteten til koden ved å unngå unødvendige kopier og modifikasjoner av objekter.

Følgende er koden for et slikt tilfelle:

#inkludere
klasse MyClass
offentlig:
MyClass (const Int & Value): m_value (verdi)
void printValue () const
std :: cout << "The value is: " << m_value << std::endl;

privat:
const int & m_value;
;
int main ()
int val = 15;
MyClass MyObject (val);
MyObject.printValue ();
retur 0;

Ovennevnte kode definerer en klasse som har en konstruktør som tar en const -referanse til et heltall som en parameter og initialiserer en privat medlemsvariabel m_value med den. Klassen har også en medlemsfunksjon PrintValue som skriver ut verdien av M_Value til konsollen. I hovedfunksjonen opprettes et objekt av typen MyClass med en heltallverdi 15, og den.

Produksjon

3: Erklære const -referanse som lokale variabler

En Const -referanse kan også brukes som en lokal variabel for å referere til et eksisterende objekt uten å lage en kopi.

Følgende er koden for et slikt tilfelle:

#inkludere
int main ()
int val = 15;
const int & ref = val;
std :: cout << "Value: " << val << std::endl;
std :: cout << "Reference: " << ref << std::endl;
retur 0;

I koden ovenfor erklærer vi en heltallsvariabel verdi og initialiserer den med verdien 15. Vi erklærer da en konstant henvisning til en heltall Ref og initialiserer den med verdien av verdien.

Produksjon

Konklusjon

Th const -referanse er en nyttig funksjon i C ++, som fungerer som en peker, men med noen viktige forskjeller. Den kan ikke endre verdien av variabelen den er koblet til og kan brukes på forskjellige måter, for eksempel funksjonsparametere, klassemedlemvariabler og lokale variabler. For bedre å forstå brukstilfellene av Const -referanser i C ++, gir denne artikkelen detaljerte retningslinjer med koding av eksempler for hver av disse måtene.