Когда вы динамически выделяете буфер типа char *
и хотите привести его к определенному типу, следует ли использовать что-то вроде
reinterpret_cast<int *>(char *)
или что-то вроде
static_cast<int *>(static_cast<void *>(char *))
и почему?
Я лично испытываю желание использовать последнее, потому что для меня это на самом деле не «реинтерпретация» данных (скорее просто механический способ распределения буфера), и это не так.Не похоже, что это будет источником ошибок так же, как типичный reinterpret_cast
, но разве это правильная интуиция?