[C++] 후위형 증감연산자 오버로딩 시 주의사항
const Point operator++ (int)
{
// ...
}
1. 매개변수 위치에 int를 넣어준다. 이는 후위형 증감연산자 오버로딩이라는 약속이며 int라고 해서 특별히 정수형과 관련 있는것은 아니다.
int가 없으면 전위형 증감연산자 오버로딩이 된다.
2. 반환형을 const 객체로 한다.
이는 Point pos; 라고 객체를 생성했을 때 (pos++)++; 와 같은 연산을 막기 위해서이다.
++(++pos);는 허용이 되지만 (pos++)++; 는 허용되지 않는 문법이다.
댓글
댓글 쓰기