I work with flatbuffers and need to write data to file. Flatbuffer struct returns uint8_t*, but std::ofstream::write takes char* as a parameter. Could you tell me which approach using two static_casts or reinterpret_cast better and why?
flatbuffers::FlatBufferBuilder fbBuilder // flatbuffer structer
... // write something to fbBuilder
std::ofstream out(filename);
// this
out.write(static_cast<const char*>(static_cast<const void*>(fbBuilder.GetBufferPointer())), fbBuilder.GetSize());
// or this ?
out.write(reinterpret_cast<const char*>(fbBuilder.GetBufferPointer())), fbBuilder.GetSize());