Это немного устарело, но я бы не согласился с консенсусом.Вы не должны иметь возможность использовать static_cast
для приведения любого типа к void*
, вы делаете это только с reinterpret_cast
.static_cast
зарезервировано для типов, которые предположительно совместимы, выполняется некоторая проверка времени компиляции (т.е. производные классы, числовые типы между ними).
По этой ссылке MSDN :
dynamic_cast Used for conversion of polymorphic types.
static_cast Used for conversion of nonpolymorphic types.
const_cast Used to remove the const, volatile, and __unaligned attributes.
reinterpret_cast Used for simple reinterpretation of bits.