Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

本日見かけた酷いコード3

タグ: C++ 酷いコード
void func(void* src, int word_offset)
{
	// 2バイト単位でシークするためshortのポインタを使う
	short* p = reinterpret_cast<short*>(src);
	p += word_offset;
	p += sizeof(long);

これで正常に動作しているのだから間違ってはいないのだろうが……どう見ても「pをcharポインタと間違えている(1バイト単位でシークさせようとしている)」ようにしか見えない。

8バイト進めたいのなら素直に

p += 4;

と書けばいいのに。
(shortポインタの時点で既に素直じゃないが)

スポンサーサイト

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://idlysphere.blog66.fc2.com/tb.php/20-7149ac2d
この記事にトラックバックする(FC2ブログユーザー)

Appendix

タグ

Blog内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。