Возможный дубликат:
Когда следует использовать static_cast, dynamic_cast и reinterpret_cast?
Я использую c-функцию в С++, где структура, переданная как аргумент типа void в c, непосредственно хранится в том же структурном типе.
например, в C.
void getdata(void *data){
Testitem *ti=data;//Testitem is of struct type.
}
чтобы сделать то же самое в С++, я использую static_cast:
void foo::getdata(void *data){
Testitem *ti = static_cast<Testitem*>(data);
}
и когда я использую reinterpret_cast
, он выполняет ту же работу, накладывая struct
когда я использую Testitem *it=(Testitem *)data;
это делает то же самое. Но как влияет структура на использование трех из них.