Должен ли я использовать C++ reinterpret_cast вместо C-style cast?

У меня есть следующая шаблонная функция, используемая для сброса данных любого стандартного типа в поток двоичного вывода.

template<typename T> static void
dump ( const T& v, ostream& o ) {
    o.write ( reinterpret_cast<const char*>(&v), sizeof(T));
}

Вместо reinterpret_cast я мог бы также использовать C-стиль (const char*). Есть ли какая-то особая причина использовать reinterpret_cast? Я читал несколько других сообщений, где reinterpret_cast не одобрялся. Но приведенное выше использование законно и не может быть заменено ничем другим, верно?

8
задан Flow 27 June 2019 в 20:30
поделиться