[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
int main(){ int Data = 20; char* pData = static_cast< char* >( static_cast< void* >( &Data ) ); for( int i = 0 ; i < sizeof( int ) ; i ++ ){ printf( "%03d " , pData[ i ] );
} |
template< class TYPE > ByteRslv() : pData( &Byte ){} union{
TYPE Data; };
char* pData; ByteRslv< int > test; test.Data = 20; for( int i = 0 ; i < sizeof( int ) ; i ++ ){ printf( "%03d " , test.pData[ i ] );
} |
テンプレートで型を指定し、
共用体で、メモリをchar型に変換しています。
初期化リストでそのアドレスをコピーしておけば、あとはそのポインタが配列として扱えます。
バイト分割されることがわかっているデータならこのようなクラスを作っておくのもいいかもしれません。
そ~れ~で~は~(*'∀`)ノ
COMMENT