Samo da prokomentarisem za ono sto je rezultat dobio 'A' sa neposrednim a 'B' sa posrednim pristupom.
Prosta stvar, u C++-u konstante ne moraju da imaju rezervisano mesto u memoriji.
Kad je Nedeljko uzeo adresu konstante onda je kompajler rezervisao mesto u memoriji
i odatle cita kad ide preko pointera. Kad ide neposredno onda kompajler jednostavno
'upokuje' konstantu i uopste ne gleda sta je u memoriji.
Naravno mogao je i da zastiti var za write, onda bi dobio segfault prilikom pokusaja upisa.
Kad je ub sve je dozvoljeno.
Pozdrav!
edit:
izgleda da ce i rvalue reference imati pravilo kao i const reference sto se tice zivota tmp objekata.
ovo sam nasao ovde
http://www.artima.com/cppsource/rvalue.html
a primer je :
Citat:
An rvalue reference behaves just like an lvalue reference except that it can bind to a temporary (an rvalue), whereas you can not bind a (non const) lvalue reference to an rvalue.
A& a_ref3 = A(); // Error!
A&& a_ref4 = A(); // Ok
by Howard E. Hinnant, Bjarne Stroustrup, and Bronek Kozicki
Dakle, samo je pitanje vremena kad ce da zaokruze kako ce sve to izgeldati u standardu.
Inace Howard je lik koji je dao proposal i koji je pomogao u g++ 4.3 implementaciji .
[Ovu poruku je menjao Branimir Maksimovic dana 30.09.2008. u 19:36 GMT+1]