2013년 6월 24일 월요일

증가 연산자 구현하기 (++ operator)

자꾸 까먹어서 기록해본다.


class MyClass {
    MyClass& operator++() { /* \todo 증분하기: ++MyClass */ return *this; }
    MyClass operator++(int) { /* MyClass++ */ MyClass tmp(*this); operator ++ (); return tmp; }

};

operator ++(int)에서 int는 전위(prefix)와 후위(postfix) 연산자를 컴파일러가 구분하기 위해서 넣는 힌트일 뿐이다.

참조: http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Fcplr330.htm