重複の可能性:
「sizeof」が間違った測定値を与えるのはなぜですか?
私はCBUFFER_PEROBJECTと呼ばれる構造を持っています:
struct CBUFFER_PEROBJECT
{
D3DXMATRIX Final;
D3DXMATRIX Rotation;
};
そして別のクラスで私はこれを行います:
...
bd.ByteWidth = sizeof(CBUFFER_PEROBJECT);
...
D3DXMATRIXのサイズは64なので、64 + 64 = 128(右?)であることがわかりました。しかし、プログラムをデバッグしているときにbd.ByteWidthが132になったため、コンパイラーは私(Visual C ++)でトリックを実行しているので、イミディエイトウィンドウ(Visual Studio)に移動して次のように入力しました。
sizeof(D3DXMATRIX) + sizeof(D3DXMATRIX)
そしてその結果は次のとおりです。
128
しかし、bd.ByteWidthは132になり、「イミディエイトウィンドウ」に次のように入力すると次のようになります。
sizeof(CBUFFER_PEROBJECT)
それは私に与えます:
128