오늘까지는 예를 들어 다음과 같이 생각했습니다.
i += j;
다음에 대한 바로 가기였습니다.
i = i + j;
그러나 우리가 이것을 시도한다면 :
int i = 5;
long j = 8;
그러면 i = i + j;
컴파일되지 않지만 정상적으로 컴파일 i += j;
됩니다.
실제로 i += j;
이와 같은 바로 가기
라는 것을 의미합니까 i = (type of i) (i + j)
?
i+=(long)j;
는 잘 컴파일됩니다.
i += (int) f;
더하기 전에 f를 캐스팅하므로 같지 않습니다. (int) i += f;
할당 후에도 결과를 캐스팅합니다. 추가 후, 할당 전에 값을 캐스트하려는 것을 표시하는 캐스트를 넣을 장소가 없습니다.