Også bilpekeren er den smarte pekeren. Den tar en rå peker, pakker den inn og sikrer at minnet peker av råpekeren slippes tilbake når bilpekerobjektet går ut av omfanget, når som helst kan en bilpeker peke på et objekt. Derfor, når en bilpeker tildeles en annen bilpeker, blir eierskapet overført til Auto Pointer -forekomsten som har mottatt oppgaven. Det samme vil skje når en bilpeker kopieres.
Bilpekere er de samme som den unike pekeren, eller vi kan si at den unike pekeren er den nye versjonen av bilpekeren. Når objektet er deklarert ved hjelp av auto -pekeren, vil det lagre pekeren i et enkelt objekt som sikrer at når pekeren går ut av omfanget.
Syntaks
Syntaksen for å erklære en bilpeker er vist nedenfor:
STD :: AUTO_PTRI syntaksen over "P" er Auto Pointer -objektet som vi har erklært hvor "typen" er datatypen som pekeren P vil inneholde. Og ved hjelp av det nye nøkkelordet har vi tildelt minnehaugen til heltallet som vi ønsker å lagre i det.
Eksempel # 01:
For å forstå arbeidet med bilpekeren i detalj, vil vi utføre et eksempel der vi vil erklære en bilpeker og vise minneplassen som den vil bli referert til på. La oss nå flytte til koden vår der hele prosessen vil bli utført fra opprettelsen til minnetildeling. Vi vil først inkludere vår overskriftsfil "iostream" og den andre "minnet". "Iostream" er bibliotekpakken som gjør det mulig for koderen å utføre forskjellige input-output-operasjoner. Mens "Memory" -biblioteket er det som innebærer å muliggjøre tildeling av minnehaugen. Utenfor hovedfunksjonen har vi erklært to objektklasser. Den første heter "Autopointer" som vil bli kalt ved hjelp av en bilpeker. Inne i "autopointer" -objektet opprettet vi en offentlig funksjon som heter "show ()".
Hensikten med å bruke det offentlige nøkkelordet i det er å gjøre det tilgjengelig for alle funksjonene i koden. I vår show () -funksjon har vi vist en melding av pekeroppretting, når pekeren opprettes for objektet "Autopointer" vil den vise meldingen. Den andre objektklassen heter "Autopointer2" som vi har laget for vår andre bilpeker som vi også passerte "cout" -uttalelsen ved å vise meldingen til "Second_PTR opprettet".
Nå, å flytte inn i hovedfunksjonen som returnerer heltallstypen. Vi erklærer først en bilpeker til et objekt av typen "autopointer" som heter "first_ptr". Ved å bruke det nye nøkkelordet, tildelte vi minnets haug til objektet "Autopointer" I neste linje i koden vår kalte vi showfunksjonen ved å bruke pekeren "First_PTR". I dette har vi brukt piloperatøren “->”, i C ++ lar det oss få tilgang til elementene fra objektene. De brukes med pekervariablene som peker på objektklassen. Når showfunksjonen kalles ved hjelp av “First_PTR”, vil den vise meldingen “First_PTR opprettet”, ved å bruke Get () -metoden som er gitt for å få minneplassen eller de lagrede dataene i en minneskuff. Men i vårt tilfelle vil vi få adressen hvor minnets haug hvor "first_ptr" blir tildelt.
Etter å ha vist "First_PTR" -stedet, oppretter vi en annen bilpeker som heter "Second_PTR" av objekttypen "Autopointer2". Igjen, ved å bruke den nye pekeren, har vi reservert minneplassen for den. Nå, som flytter til neste linje, bruker vi “Second_PTR” vi kalte “show ()” -funksjonen som vi har laget for “Autopointer2” -objektet. En ting å huske er når vi erklærer en bilpeker for et objekt, det vil få funksjonen til klasseobjektet som vi har opprettet pekeren. Det vil ikke få funksjonen til den andre objektklassen om de har samme navn. Som i vårt tilfelle i begge objektklasser, har vi laget de samme funksjonene som heter “Show ()”. Etter det, ved hjelp av get () -metoden, fikk vi tilgang til minnets haug ved å bruke “Second_PTR” der den andre pekeren “Second_PTR” er lagret. På slutten av koden har vi returnert nullverdien, noe som betyr at programmet vil bli utført med hell uten å ha noen feil og vil utføre den ønskede oppgaven det er ment å.
#inkludereLa oss nå sjekke utdataene vi har oppnådd som et resultat av koden vi har skrevet som vises i utdraget ovenfor. Som vi kan se i denne utgangen, har vi vist meldingen om pekeroppretting for begge våre bilpekere. Minneplassen for begge pekere er vist uten feil.
Konklusjon
I denne opplæringen har vi demonstrert den interne oppførselen til bilpekeren. Auto -pekeren ble introdusert i C ++ 3. Ved å bruke eksempler og scenarier forklarte vi det kort for å gjøre det enkelt å forstå arbeid og metodikk for hvordan den brukes. Bilpekere er utdatert på grunn av deres eierskap. Det får eierskap på en måte som to tips samtidig ikke kan ha samme objekt.