Quote:Original post by DevFredQuote:Original post by phresnel
Of course sizeof(x) == sizeof(reference_to_x)
No, sizeof(x) == sizeof(vector[0]), because x is an alias for vector[0].
Sorry, but you've misunderstood my post. It was my obviously poor try on giving a generalised answer on what was a question implicated by a wrong statement earlier:
template <typename T> struct s { T x; T &reference_to_x; enum { are_the_same_size = sizeof (x) == sizeof (reference_to_x) };}...std::cout << static_cast <int> (s<some_type>::are_the_same_size) << '\n';
... prints 1 for every some_type.