c++ - How can a reference require no storage? -



c++ - How can a reference require no storage? -

from this question, , consequently, standard (iso c++-03):

it unspecified whether or not reference requires storage (3.7).

in answers in thread, it's said references have, internally, same construction of pointer, thus, having same size of (32/64 bits).

what i'm struggling grasp is: how reference come not require storage?

any sample code exemplifying appreciated.

edit: @johannesschaub-litb comment, there like, if i'm not using const &, or if i'm using const & default value, requires allocation? seems me, somehow, there should no allocations references @ -- except, of course, when there explicit allocations involved, like:

a& new_reference(*(new a())); // a() instance allocated, // not new_reference

is there case this?

take simple:

int foo() { int x = 5; int& r = x; r = 10; homecoming x; }

the implementation may utilize pointer x behind scenes implement reference, there's no reason has to. translate code equivalent form of:

int foo() { int x = 10 homecoming x; }

then no pointers needed whatsoever. compiler can bake right executable r same x, without storing , dereferencing pointer points @ x.

the point is, whether reference requires storage implementation detail shouldn't need care about.

c++ variables compiler-construction reference

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -