more effective c++을 보고있는 중에 질문이 생겨 올립니다.
++ 연산자의 경우는
const Rational Rational::operator++(Rational);
와같이 리턴값이 const의 형태이고 이것은
i++++; 와 같은것을 방지하기 위함이라고 나와있습니다만
책을 보다보면
const Rational operator+(const Rational& lhs, const Rational& rhs);
와같은 함수가 나오고 이때 리턴값이 const인 이유는 위의 경우와 같은 이유라는 식의 설명이 나오는데요.
이와 같이 연산을 위한 인수가 두개일대는 왜 리턴 값이 const 가 되어야 하나요? 어떤 특별한 경우를 위해서인지....