Kuidas rakendada kursoreid C ++ versioonis?

See artikkel tutvustab C ++ osundajate mõistet ja jätkab seda seejärel praktilise tutvustusega.

Näpunäited C ++ keeles on muutuja, mis hoiab teise muutuja aadressi c ++. Aadress on salvestatud kursori muutujasse ja on abiks viite-kutse rakendamisel.



Järgmisi näpunäiteid käsitletakse selles artiklis,



Alustades sellest artiklist, mis käsitleb näpunäiteid teenuses C ++

Süntaks:



andmetüüp * pointername NÄIDE: int * ptr
  • Kursori muutuja nime ees on * märk.
  • Kursorit nimetatakse ka lokaatoriks või indikaatoriks.

Kursori kasutamine:

  • Dünaamiline mälu jaotamine
  • Massiivide, struktuuri ja funktsioonide erinevates programmides

Siin on näidiskood:

#include nimeruumi kasutamine st int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Väljund:
Väljund- osutid C ++ keeles - Edureka



Selgitus:

Ülaltoodud programmis näitame kursori põhitööd. Meil on täisarv muutuja arv väärtusega 17. Meil ​​on kursori muutuja ptr tüüpi int. Määrame kursori ptr aadressile num aadressi.

Esmalt printime ptr väärtuse, see on aadress. Järgmisena printime numbri väärtuse ja lõpus printime väärtuse kursori ptr käes olevasse kohta.

Selle artikliga edasi liikudes näpunäited teenuses C ++

Kursorid ja massiivid:

Massiivi esimest elementi võime käsitada osundajana, kuna massiivi nimi sisaldab esimese elemendi aadressi. Kursorit saame kasutada järgmiselt.

Siin on näite kood:

#include nimeruumi kasutamine st int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Väljund: 

Selgitus:

Ülaltoodud programmis näitame osuti põhitööd massiiviga. Meil on massiivi massiiv väärtustega 5,10,20. Meil on kursori muutuja ptr tüüpi int. Määrame kursori ptr-le aadressi arr.

Esmalt trükime ptr [0] väärtuse, see on massiivi esimene element. Järgmisena printime vastavalt teise ja kolmanda elemendi. Kuna massiivi elemente salvestatakse järjestikku, saab kursor juurdekasvu abil massiivi teisele asukohale juurde pääseda.

Selle artikliga edasi liikudes näpunäited teenuses C ++

Tühjad näpunäited:

On tüüpi tüüpe, millel pole väärtust ja millel on nullväärtus

Näide :

andmepõhine testimine seleenis
int * ptr = NULL

Need on väga kasulikud andmestruktuurides, näiteks lingitud loendis.

Selle artikliga edasi liikudes näpunäited teenuses C ++

Tühised näpunäited:

Need on tüübid, millel pole tagastustüüpi.

Selle artikliga edasi liikudes näpunäited teenuses C ++

Kursori aritmeetiline operatsioon:

Osutitega saab teha erinevaid toiminguid. Siin on mõned olulised tüübid.

  • suurendatud (++)
  • alandatud (-)
  • kahe osuti vahe (p1-p2)
  • täisarvu lisamine kursorile (+ või + =)
  • täisarvu lahutamine kursorist (- või - =)

Siin on kood mõnest neist toimingutest demo:

#include nimeruumi kasutamine st int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Väljund:

Selgitus:

Näitame ülaltoodud programmis lihtsat aritmeetilist operatsiooni kursori muutuja suurendamisel.

Selle artikliga edasi liikudes näpunäited teenuses C ++

Kursor kursorile:

Seda tüüpi süsteemis on kaks osutit. Esimene osuti osutab teisele ja teine ​​osutab väärtust hoidvale muutujale.

Siin on näite kood:

#include nimeruumi kasutamine st int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Väljund:

Selle artikliga edasi liikudes näpunäited teenuses C ++

mis on meetodi ülekoormamine ja meetodi ülimuslikkus

Funktsioonide osutaja:

See on viis, kuidas viidata funktsioonidele. Funktsiooni parameeter tuleb deklareerida osuti tüübina. See on näidatud allolevas koodis,

#include kasutades nimeruumi standard float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Väljund

Nii edastame funktsiooni kursori.

Nii oleme jõudnud artiklile „Näpunäited C ++”. Kui soovite rohkem teada saada, vaadake järgmist autor Edureka, usaldusväärne veebipõhine õppefirma. on loodud selleks, et õpetada teid nii põhi- kui ka täiustatud Java-kontseptsioonide jaoks koos erinevate Java-raamistikega, nagu talveunerežiim ja kevad.

Kas teil on meile küsimus? Palun mainige seda selle blogi kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.