TAKEAWAY 4.10 연산자를 구성하는 문자는 반드시 붙여 써야 한다.
오브젝트를 수정하는 또 다른 연산자인 증가 연산자(increment operator)C ++와 감소 연산자(decrement operator)C --는 앞에 나온 적이 있다.
• ++i는 i += 1과 같다.
• --i는 i -= 1과 같다.
이 대입 연산자들은 값 연산자이며, 오브젝트를 수정한 후의 값을 리턴한다(오브젝트를 리턴하는 것이 아니다). 취향이 특이하다면 다음과 같이 쓸 수도 있다.
a = b = c += ++d; a = (b = (c += (++d))); // 위와 같은 문장이다.
여러 오브젝트를 수정하는 문장을 이렇게 하나로 합쳐서 표현하는 것은 바람직하지 않다. 일부러 코드를 난해하게 표현하고 싶지 않는 한, 이런 식으로 작성하지 않기 바란다. 이 코드처럼 표현식을 처리하는 과정에서 오브젝트가 변하는 현상을 부작용(side effect)C이라고 부른다.
TAKEAWAY 4.11 값 표현식에서 부작용은 암적인 존재다.