[C++] 후위형 증감연산자 오버로딩 시 주의사항

const Point operator++ (int)
{
	// ...
}

1. 매개변수 위치에 int를 넣어준다. 이는 후위형 증감연산자 오버로딩이라는 약속이며 int라고 해서 특별히 정수형과 관련 있는것은 아니다.

int가 없으면 전위형 증감연산자 오버로딩이 된다.



2. 반환형을 const 객체로 한다.

이는 Point pos; 라고 객체를 생성했을 때 (pos++)++; 와 같은 연산을 막기 위해서이다.

++(++pos);는 허용이 되지만 (pos++)++; 는 허용되지 않는 문법이다.

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법