在
boost::detail::addressof_impl::f()年,一系列的reinterpret_cast完成以获得对象的实际地址,以防类别T超载运算符&():
template<class T> struct addressof_impl { static inline T* f( T& v,long ) { return reinterpret_cast<T*>( &const_cast<char&>(reinterpret_cast<const volatile char&>(v))); } }
对于const volatile char&而不是只是铸造char&