Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Mehanizam vracanja reference u c++ ( kako ovo radi )

[es] :: C/C++ programiranje :: Mehanizam vracanja reference u c++ ( kako ovo radi )

[ Pregleda: 4447 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
217.26.79.*

ICQ: 208550327


+14 Profil

icon Mehanizam vracanja reference u c++ ( kako ovo radi )21.10.2007. u 14:28 - pre 200 meseci
Npr...

Imam funkciju u klasi koja vraca promenljivu clanicu:

int & GetData() const { return m_Data; }

Klasa vraca referencu koju moze prihvatiti objekat koji je obicna 'vrednost', da tako kazem kao u sledecem primeru...

int value = objekatKlase.GetData();

Zasto je to tako? Ne shvatam bas 'prirodu referenci' u ovom slucaju...

Ako vracamo pokazivac, onda pokazivac mora i da prihvati pokazivac ( ili ga moramo dereferencirati ako zelimo vrednost )


[Ovu poruku je menjao glorius dana 21.10.2007. u 22:54 GMT+1]
EOF
 
Odgovor na temu

1jedini
Dejan Milosavljevic
BG

Član broj: 102721
Poruke: 74
*.dynamic.sbb.co.yu.



Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )22.10.2007. u 11:48 - pre 200 meseci
Slobodnije receno referenca se ponasa kao objekat nA koji je referencirana.
Kad je dodeljujemo drugom ne-referencnom objektu onda ona 'daje' vrednost objekta na koji je referencira.

Priroda reference je(jedna od), neformalno, ja sam drugi objekat ali se od njega razlikujem po imenu.

Obavezno pogledaj 8.3.2.

... i kosultuj gugl.
AKA DDMM
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
217.26.79.*

ICQ: 208550327


+14 Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )22.10.2007. u 23:18 - pre 200 meseci
Da da... razumem da je referenca sinonim za drugu promenljivu ( koristim ih pri predavanju parametara funkcijama itd... )

Samo mi je ova konstrukcija bila po malo cudna... I, koliko mogu da zakljucim, reference se same dereferenciraju, tj. mehanizam dereferenciranja nije isti kao kod pokazivaca ( tipa, nadjem te preko adrese i uzmem ono sto imas :P - hehe, novi slogan, pokrao sam te - dereferencirao sam te )...

Radio sam u ASM i skapirao nacin kako pokazivaci rade "ispod haube" mada je to sa referencama malo apstraktno za mene ( za sada )...

Preostaje samo... Back to the laboratory :)


EOF
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.1.28.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )23.10.2007. u 06:42 - pre 200 meseci
I referenca je u suštini pointer, samo konstrukcije jezika omogućavaju bezbednije korišćenje.
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
217.26.79.*

ICQ: 208550327


+14 Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )26.10.2007. u 00:26 - pre 200 meseci
Evo lepog linka koji objasnjava reference...

Svidja mi se sto u jednom trnutku kaze da je referenca na i u stvari makro koji dereferencira pointer i ( *i )...

Mada, posle, kaze neshto drugo.. :)

http://www.parashift.com/c++-faq-lite/references.html
EOF
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )28.10.2007. u 19:16 - pre 200 meseci
Ako razumes pointer, onda ti je najlakse shvatiti referencu kao pointer koji nema mogucnost pokazivanja na drugi objekat. Narodski receno - pointer za jednokratnu upotrebu. Pored toga, samo ti je bitno da znas kako nema nikakve procedure prilikom dereferenciranja, jezik to radi sam.
De si Deda...
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
217.26.79.*

ICQ: 208550327


+14 Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )28.10.2007. u 22:46 - pre 200 meseci
Video sam dissasembly za kod dodeljivanja promenljive referenci... Kao i kod pointera, naravno :) Jednostavno, kompajler, kada vidi da je to referenca, proverava da slucajno nije NULL i da li se ponovo dodeljuje... Pa tek onda prevodi u assembly kod kao obican pointer :)
EOF
 
Odgovor na temu

[es] :: C/C++ programiranje :: Mehanizam vracanja reference u c++ ( kako ovo radi )

[ Pregleda: 4447 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.