2012年5月31日木曜日

ある構造体typeのメンバ変数memberのサイズを取得するマクロ


マクロ

#define MEMBER_SIZE_OF(type, member) sizeof(((type*)0)->member)

使用例

#define MEMBER_SIZE_OF(type, member) sizeof(((type*)0)->member

struct TestType
{
    int val;
};
Uint32 valSize = MEMBER_SIZE_OF(TestType,val); // valのサイズ取得



sizeof内の式は実際には評価されないので、NULL参照とかにはなりません。

0 件のコメント:

コメントを投稿