After working 15 years in C++ I found that I don\'t understand references completely...
class TestClass { public: TestClass() : m_nData(0) { } T
A good way is to compare references to pointers... (references are usually implemented the same way in assembly generally by using the ebx register). The main difference is that reference is constant after initialization...
However, The line const TestClass& c = TestClass();
is parallel to const TestClass* const pc = &TestClass();
so the object will be create and destroyed on the stack, pc will still hold the same address.