次のテンプレート関数を使用して、任意の標準タイプのデータをバイナリ出力ストリームにダンプします。
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が眉をひそめた他のいくつかの投稿を読みました。しかし、上記の使用法は合法であり、他のものに置き換えることはできませんよね?