[ [REaS0n] @ 24.07.2008. 08:17 ] @
Negde sam pročitao da su reference u stvari pointeri sa oganičenjima,odnosno uvek moraju da pokazaju na nešto, dok to kod pointera nije slučaj. Može li neko navesti i ostale razlike,po mogućnosti sa primerima? |
[ [REaS0n] @ 24.07.2008. 08:17 ] @
[ deerbeer @ 24.07.2008. 09:08 ] @
Code: //initcijalizacija pointera int i = 5 ; int* pt = &i ; // inicijalizacija referenci int i = 6; int& rf = i ; int* pt ; //dozvoljeno int& rf ; // compile-error - nedozvolljeno (mora da pokazuje na neku promenljivu) pt++; // inkrement adrese pointera (pristupas direktno adresi pointera u memoriji) rf++; // inkrement vrednosti reference (pristuipas samo vrednosti koji drzi referenca) int y = *pt ; dobijanje vrednosti iz pointera int z = rf ; dobijanje vrednosti reference //i ako i referenca i pointer pokazuju na neku adresu nije dozvoljeno int* p = new int ; int& n = p ; //compile-error [ X Files @ 24.07.2008. 10:36 ] @
Pošto se ovo pitanje često javlja, evo da prekucam i formatizujem jednu tabelu iz knjige Dragana Milićeva.
[ [REaS0n] @ 24.07.2008. 11:25 ] @
hvala vam obojici..
ono što mene zaista buni svo vreme je razlika izmedju 'Ukazuje na objekat' i 'Upućuje na objekat' [ xeron @ 25.07.2008. 21:12 ] @
Na osnovu pokazivača indirektno pristupamo nekom objektu, pokazivač je promjenjljiva koja sadrži adresu objekta na koji pokazuje.
("Ukazuje na objekat") Referenca radi direktno sa objektom, u sustini predstavlja samo drugo ime za isti objekat ("Upućuje na objekat"). [ [REaS0n] @ 26.07.2008. 13:49 ] @
uh, mnogo dobro objašnjenje, hvala!
[ itf @ 31.07.2008. 20:46 ] @
Uvođenjem reference samo dodaješ još jedno ime za već postojeću varijablu.
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|