回答編集履歴
1
test
test
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
キャスト演算子は右結合ですので、`((DWORD)((BYTE)(g)))`と`(DWORD)(BYTE)g`で動きは変わりません。
|
2
2
|
|
3
|
-
ただ`g`が式、例えば`1+2`だったとき、右のマクロでは`(DWORD)(BYTE)1+2`と展開され`((DWORD)(BYTE)1)+2`となりますので、意図通りでないキャストがされる可能性があります。左のマクロでは`((DWORD)((BYTE)(1
|
3
|
+
ただ`g`が式、例えば`1+2`だったとき、右のマクロでは`(DWORD)(BYTE)1+2`と展開され`((DWORD)(BYTE)1)+2`となりますので、意図通りでないキャストがされる可能性があります。左のマクロでは`((DWORD)((BYTE)(1+2)))`なので`(DWORD)(BYTE)3`となり、意図通りのキャストとなります。
|