관례 우선 확인
+가 값을 바꾸거나 ==가 일부 상태만 비교하면 호출자 기대와 어긋난다.
기호를 빌리면 호출자는 수학적 또는 표준 라이브러리 관례를 기대한다. 새 값 생성과 기존 값 변경, 비교 기준을 분명히 나눠야 한다.
+가 값을 바꾸거나 ==가 일부 상태만 비교하면 호출자 기대와 어긋난다.
+=를 구현하고 +를 그 위에 얹으면 변경 연산과 새 값 연산을 나누기 쉽다.
정렬 컨테이너에 들어갈 타입은 strict weak ordering을 만족해야 한다.
Value& operator+=(const Value& rhs);
friend Value operator+(Value lhs, const Value& rhs) {
return lhs += rhs;
}