1.3.4 할당 연산자
개체(수정 가능한 Lvalue)의 값은 할당 연산자를 통해 설정할 수 있다.
object = expr;
object의 타입과 expr의 타입이 서로 일치하지 않을 때, 가능하다면 expr의 타입을 object의 타입으로 변환한다. 할당 연산자는 오른쪽에서 왼쪽 순서로 결합하기 때문에 하나의 표현식으로 여러 개체에 값을 연속적으로 할당할 수 있다.
o3 = o2 = o1 = expr;
할당에 관해서 잠시 이야기해보자. 이제 필자는 심볼이 왼쪽에 있는 게 왜 정당한지 설명할 것이다. 대부분의 이진 연산자는 두 인수 모두 값이라는 점에서 대칭이라고 할 수 있다. 이와 대조적으로 할당은 왼쪽에 수정 가능한 변수를 갖는다.
합성 할당 연산자들은 오른쪽에 있는 인수로 왼쪽에 있는 개체에 산술 연산이나 비트 연산을 적용한다. 예를 들어 다음 두 연산은 같은 작업을 수행한다.
a += b; // 다음 문장과 동일한 코드다. a = a + b;