"Dacă cineva aprinde o stea, înseamnă că cineva are nevoie de ea"
Iată un exemplu. Să presupunem că treci o variabilă la funcție. Acolo, cu valoarea sa se face ceva și noua valoare trebuie introdusă în acea variabilă a cărei valoare ați transferat-o la funcție. Dacă faci așa ceva
Această valoare a variabilei i nu se va schimba, deoarece o copie a acestei variabile este transferată la funcție și operațiile sunt efectuate cu ea. Și dacă treceți un pointer sau o referință la această variabilă, veți avea acces la ea și puteți schimba valoarea acesteia
Dacă doriți să transferați o structură sau un obiect unei funcții, o puteți transfera în întregime, dar poate dura multă memorie și timp, deoarece poate fi foarte mare. Cel mai simplu exemplu este invizibil, dar programe reale, în cazul în care acesta poate fi repetat de mii de ori, frânele vor fi imense. În schimb, treceți un pointer sau o referință și obțineți accesul la obiect din funcție.
Am vorbit deja despre alocarea dinamică a memoriei. Dacă nu ați citit încă despre el, citiți-l. Nu există indicii în principiu.
Acestea sunt doar câteva exemple. Cu cât intri mai mult în C ++, cu atât vei învăța mai mult despre asta.
răspunsul dat 4 ianuarie '12 la 18:56
Pentru a returna mai multe valori dintr-o funcție. Ca argument, este trecut un indicator la o variabilă, funcția scrie o valoare acolo. Această abordare este foarte frecventă în DirectX, OpenGL, Windows API și în alte biblioteci în stil C. De asemenea, puteți utiliza linkuri pentru acest lucru, dar nu este recomandat, deoarece sintaxa de transfer și retur este indistinguizabilă.
Șirul C este un indicator al primului său caracter.
Pentru a crea diferite structuri de date: liste legate, copaci etc.
Pentru a transmite un argument unei funcții fără a copia (și apela constructorul pentru obiecte), care poate fi lung pentru obiecte complexe. Adevărat, aici este mai bine să folosiți legături constante.
Astfel, există o mulțime de pointeri.