Hva er en const -peker i C++?

Hva er en const -peker i C++?
Ordet “const” i.e., konstant, betyr "ingen endring" til noen variabel verdi innen programmeringsspråk. Pekeren i programmering refererer til en variabel som peker mot en spesifikk adresse, sannsynligvis av en viss variabel adresse. Den konstante pekeren vil være en som alltid vil peke i retning av samme adresse. Dette betyr adressen til en variabel som pekeren peker kan ikke oppdateres så langt. Derfor vil vi i denne artikkelen se hva som er en konstant peker i C ++ og hvordan det fungerer. Så la oss ha en god start.

Eksempel 01: peker

La oss ha vårt første eksempel for å demonstrere hvordan en konstant peker fungerer i terminalskallet. Start med å åpne Shell Console -applikasjonen i Linux -distribusjonen din. Du kan bruke snarveien “Ctrl+Alt+T” på Ubuntu 20.04 Desktop for å gjøre det. Rett etter å ha åpnet skallet, la oss ha en opprettelse av en ny C ++ -fil. Så "berørings" -spørsmålet vil bli brukt her så langt. Nevn navnet på en fil i "berørings" -instruksjonen du vil opprette med ".CC ”utvidelse.

Etter å ha opprettet en fil, kan du enkelt åpne filen fra hjemmemappen til Linux -systemet ditt. For å redigere og oppdatere den i skallet, må du benytte deg av noen redigeringsmoduler. Hvis du ikke har en, kan du prøve å installere “GNU Nano” -redaktøren eller Vim Editor. Som vist i det vedlagte bildet nedenfor, har vi brukt “Nano” -redigereren for å åpne den nyopplagte “const.CC ”-kommando i skallet.

$ Touch Const.CC
$ nano const.CC

Filen åpnes tom i GNU Nano -redigereren. I vårt første eksempel vil vi først se arbeidet med en enkel pekervariabel for å forstå konstante pekere mer. Så legg til de nødvendige bibliotekene, jeg.e., Standard input-output stream header og stdio header, ved å bruke "include" nøkkelordet med et hasjskilt i starten. Du må definere standard navneområdet med ordet “Bruke”. Etter dette vil hovedmetoden () bli initiert da vi må gjøre alt i den. Dessuten starter kompilering og utførelse herfra. Initialiser en heltallvariabel “A” med en heltallverdi tilordnet den, i.e., 98.

"Cout" -strømmen brukes til å vise verdien av variabel "a". Etter dette har en heltallstype -peker “PTR” blitt initialisert, og peker mot adressen til heltallsvariabelen “A”. På grunn av denne pekeren kan vi endre variabelen “A” da begge ikke er konstante akkurat nå. Etter dette er pekeren “PTR” vist, i.e., adresse til variabel “a”. I neste linje har vi brukt inkrementoperatøren til å øke verdien av pekeren “PTR” adresseverdi når den peker mot adressen til variabel “a”.

Pekeren “PTR” har blitt vist igjen ved hjelp av "cout" -strømmen. Den neste “cout” -strømmen brukes til å vise variabelen “A” -verdien igjen, i.e., økte en. Koden ender her. Lagre den nyopprettede koden og la GNU Nano -redigereren ligge ved å bruke “Ctrl+S” og “Ctrl+X” fra tastaturet.

La oss sammenstille denne nyopplagte C ++ -koden først. Bruk "G ++" -kompilatoren for å gjøre det. Hvis du ikke har en som allerede er installert i systemet ditt, kan du prøve å konfigurere det først. Etter at samlingen ble vellykket, må du få koden til å kjøre med "./en.ut ”-kommando. Du vil se, ettersom den første "cout" -uttalelsen ble utført, vil den vise verdien av en variabel "a" i.e., 98.

Etter utførelsen av en andre og tredje "cout" -strøm, viste den den samme adressen som ble lagret i pekeren “PTR” som peker mot variabelen “A”. Økningen er utført på verdien av en variabel “A” gjennom pekeren “PTR”. Etter utførelsen av en fjerde "cout" -uttalelse er økningen av en variabel "a" vist på terminalskjermen.

$ g ++ const.CC
$ ./en.ute

Eksempel 02: Konstant peker til heltall

Dette handlet om den enkle pekeren som pekte mot en viss variabel adresse. La oss nå se på eksemplet med å bruke en konstant type peker for å peke mot en viss variabel. Som vi vet betyr ordet konstant "ingen endring" når det brukes på en eller annen variabel. Så vi vil bruke den som en pekervariabel for å se hvordan en konstant peker vil oppføre seg i visse situasjoner. Dermed har vi åpnet den samme filen med “GNU Nano” -redigereren og oppdatert koden litt.

Initialiseringslinjen til en peker er oppdatert med ordet “const” sammen med “*” -tegnet ved start. Sørg for å bruke den etter datatypen “Int” innen initialiseringen av en peker “CPTR”. Deretter har vi brukt "cout" -uttalelsen for å øke verdien av variabel "a" som pekeren "CPTR" peker mot den. Den aller neste cout -uttalelsen er initialisert for å øke pekeren “CPTR” selv. Dette vil forårsake kompilasjonsfeilen da "CPTR" i seg selv er konstant. Resten av koden blir uendret og lagret ved hjelp av “Ctrl+S”.

Når vi har samlet koden til const.CC -fil, den gir oss feilen på linje 10. Ettersom pekeren var konstant, sier feilen at "CPTR" er skrivebeskyttet og ikke kan økes som forventet.

$ g ++ const.CC

Når vi har samlet koden, har variabelen “A” blitt vist med sin opprinnelige og oppdaterte verdi. Mens adressen til "CPTR" -pekeren har vært den samme og ikke endret.

$ ./en.ute

Eksempel 03: Konstant peker til konstant heltall

Innenfor dette eksemplet vil vi ta både peker og heltall det peker på like konstant. Dette betyr at begge ikke kan oppdateres. Så åpne den samme filen for å gjøre den oppdatert. Vi har initialisert et heltall "B" med konstant type med en verdi på 13. Denne variabelen er vist via "cout" -uttalelsen. Deretter har vi initialisert en konstant type peker “CPTRC” som peker mot den konstante variabelen “B” med “&” -tegnet. COUT -klausulen brukes til å vise pekeren “CPTRC”. Etter dette vil den konstante variabelen “B” -verdien bli økt med den konstante variabelen “CPTRC”.

I neste linje på rad er pekeren “CPTRC” i seg selv blitt økt. Begge trinnlinjene vil vise feilen ved samlingen. De to siste cout -uttalelsene brukes til å vise verdien av konstant variabel verdi og konstant peker.

Etter å ha samlet koden, har vi fått en feil på begge trinnlinjene, jeg.e., 9 og 10.

$ g ++ const.CC

Således ved kodens utførelse ved hjelp av en “./en.UT ”-instruksjonen har vi fått det gamle resultatet av det siste eksemplet, og koden er ikke utført.

$ ./en.ute

Konklusjon:

Endelig har vi gjort arbeidet med konstante variabler i C++. Vi har diskutert eksemplene på enkle pekere, konstante pekere til heltall og konstante pekere til konstante heltall for å forbedre forståelsesnivået om pekere. Vi har brukt "cout" -erklæringen, inkrementoperatører og og operatører for å oppnå dette målet. Vi håper denne artikkelen vil være like gunstig for nye og allerede erfarne brukere av C ++ i Ubuntu 20.04 System.