「+=」

 正式名称は「複合代入演算子」というらしい。

他の「-=」とか「%=」も同じ名前。



 …って、それはどうでもいい(笑)

これを用いると右辺が勝手にint型になるようだ。

左辺が符号無しの型のとき等は注意が必要かも。



 --- 追記 : 6/15 0:52

 intじゃないよ(汗)

正確にはint「だけ」じゃないか。

多分このへん準拠*1…かな?

…あれ、でも


DWORD dat;
int a;
double dd;

...
dat += (DWORD)( (double)a * dd );

こんな感じのでも「int と DWORD で云々」って言われるんだよな…。

何なんだろう。



 後、

dat += (DWORD)( (double)a * dd );

dat = dat + (DWORD)( (double)a * dd );

これの上下でアセンブラコードが違うようです…。

…しかも、下の方が1,2行短かったような…(うろ覚え)




*1:「3.通常の算術型変換」のあたり