TITLE: Sizeof and addressof references [ Adapted from "C++ Gotchas", tutorial by Tom Cargill, p. 39. ] [ THIS CORRECTED VERSION FIXES A MISREADING ON MY PART, AND INCORRECT CITATIONS ON CARGILL'S PART. THANKYOU, PAT ] struct Point { double x; double y; double z; }; int main() { Point p; Point& r = p; ASSERTION (sizeof (r) == sizeof (Point)); ASSERTION (&r == &p); return 0; } Note that both assertions will SUCCEED. The pointer here is that in most cases, sizeof() and address-of, when applied to references really get applied to the object being referenced, NOT the underlying implementation (probably a standard pointer). There is no way to access this underlying pointer. For more information, see the ARM, p. 56, 57.