История изменений
Исправление CatsCantFly, (текущая версия) :
Не слушай тех, кто советует так и делать, в общем случае использование указателя не того и не совместимого по указателям типа, объект которого лежит по этому адресу - UB. Исключение в стандарте сделано только для char* - его можно приводить к указателю на что угодно. Причина - компиляторам позволено строить свои оптимизации, исходя из предположения, что раз указатели не совсемстимых типов - значит они точно не указывают на одно и то же, а значит изменение значения по указателю A не может влиять на значение по указателю B
Исходная версия CatsCantFly, :
Не слушай тех, кто советует так и делать, в общем случае использование указателя не того и не совместимого по указателям типа, объект которого лежит по этому адресу - UB. Исключение в стандарте сделано только для char* - его можно приводить к указателю на что угодно