더북(TheBook)

TAKEAWAY 4.10 연산자를 구성하는 문자는 반드시 붙여 써야 한다.

오브젝트를 수정하는 또 다른 연산자인 증가 연산자(increment operator)C ++감소 연산자(decrement operator)C --는 앞에 나온 적이 있다.

++ii += 1과 같다.

--ii -= 1과 같다.

이 대입 연산자들은 값 연산자이며, 오브젝트를 수정한 후의 값을 리턴한다(오브젝트를 리턴하는 것이 아니다). 취향이 특이하다면 다음과 같이 쓸 수도 있다.

a = b = c += ++d;
a = (b = (c += (++d))); // 위와 같은 문장이다.

여러 오브젝트를 수정하는 문장을 이렇게 하나로 합쳐서 표현하는 것은 바람직하지 않다. 일부러 코드를 난해하게 표현하고 싶지 않는 한, 이런 식으로 작성하지 않기 바란다. 이 코드처럼 표현식을 처리하는 과정에서 오브젝트가 변하는 현상을 부작용(side effect)C이라고 부른다.

TAKEAWAY 4.11 값 표현식에서 부작용은 암적인 존재다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.