Konkretan primer gde su pokazivaci korisni je
NekaKlasa::NekiMetod(NekaDrugaKlasa* objekat), neki fiktivni metod neke fiktivne klase koji kao argument prima objekat tipa neke trece klase... Primeti da se kao argument prosledjuje POKAZIVAC (mada bi neki koristili referencu, ali ja sam odabrao pokazivac jer je to tema ovog "thread"-a). Zasto? - Zato sto kada bi se prosledjivao ceo objekat dolazilo bi prilikom SVAKOG poziva tog metoda do kopiranja objekta na stek. Ako je objekat tipa NekaDrugaKlasa veliki (par kilobajta recimo) to znaci da bi se nonstop rezervisala velika kolicina memorije (ovo je pogotovo primetno ako se objekti tog tipa smestaju u neku listu ili niz). Umesto toga, koriste se pokazivaci, tako da nema ovog kopiranja.
Mozda je trebalo nekako jasnije objasniti ovo, ali meni nije na pamet pao neki "slikovitiji" nacin, razumljiv za VB programere.
Verovao ili ne VB sve svoje objekte prenosi funkcijama/procedurama upravo na ovaj nacin (interno, to VB programeri ne znaju)! :) Dakle interno VB koristi jaaaako puno pokazivace! :) C i C++ koriste nesto slicno "BY VAL" direktivi u VB-u... Znaci, uvek se pravi lokalna kopija promenljive koja se prenosi kao argument, osim ako se ne prenosi po referenci (BY VAL u VB-u).
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin