где про это прочитать? return reinterpret_cast<T*>(
                  
                  
                                 &const_cast<char&>(
                  
                  
                                     reinterpret_cast<const volatile char&>(arg)));
                  
                  
                  это addressof
                  
                  
                
arg может быть cv-qualified, a reinterpret_cast не может убирать конс или волатайл, поэтому кастуем к const volatile char&. Дальше убираем const volatile и получаем char&. Берём адрес и кастуем к указателю на тип arg (добавляя обратно const или volatile, если они были в T)
Потому что оператор & может быть перегоужен
Обсуждают сегодня