Возможная реализация std::addressof
Это может быть дубликат [ссылка], но ответ довольно короткий и не очень понятный. В возможной реализации, как это:
template <class T>
T * addressof(T & v)
{
return reinterpret_cast<T *>(& const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
}
почему const_cast
нужно?