我有以下模板函数,用于将任何标准类型的数据转储到二进制输出流中。
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 的帖子。但是上面的用法是合法的,不能用其他东西代替,对吧?