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

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

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

[ Pregleda: 1052 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

glorius
Damir Nikolic
Developer, Seavus D.O.O.
YU

Član broj: 4366
Poruke: 255
217.26.79.*



Profil

icon Mehanizam vracanja reference u c++ ( kako ovo radi )21.10.2007. u 14:28

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
21.10.2007. u 14:28 

1jedini
Dejan Milosavljevic
BG

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

Sajt: www.ddmrm.com


Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )22.10.2007. u 11:48
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
22.10.2007. u 11:48 

glorius
Damir Nikolic
Developer, Seavus D.O.O.
YU

Član broj: 4366
Poruke: 255
217.26.79.*



Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )22.10.2007. u 23:18
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
22.10.2007. u 23:18 

tosa

Član broj: 1811
Poruke: 1272
218.1.28.*



Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )23.10.2007. u 06:42
I referenca je u suštini pointer, samo konstrukcije jezika omogućavaju bezbednije korišćenje.
Soylent green: over 6 billion served!
23.10.2007. u 06:42 

glorius
Damir Nikolic
Developer, Seavus D.O.O.
YU

Član broj: 4366
Poruke: 255
217.26.79.*



Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )26.10.2007. u 00:26
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
26.10.2007. u 00:26 

DjoleReject
Djordje Knezevic
Zvezdara

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



Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )28.10.2007. u 19:16
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...
28.10.2007. u 19:16 

glorius
Damir Nikolic
Developer, Seavus D.O.O.
YU

Član broj: 4366
Poruke: 255
217.26.79.*



Profil

icon Re: Mehanizam vracanja reference u c++ ( kako ovo radi )28.10.2007. u 22:46
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
28.10.2007. u 22:46 

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

[ Pregleda: 1052 | Odgovora: 6 ]

Postavi temu Odgovori

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