항목 15. operator= 이 *this에 대한 레퍼런스(reference)를 리턴(return)하도록 한다.
항목 15. operator= 이 *this에 대한 레퍼런스(reference)를 리턴(return)하도록 한다. 이유 1. 연속적인 치환을 할 수 없게 된다. 2. 클래스를 사용하는 코드에서의 묵시적인 타입 변환도 할수 없게 된다. 3. const 레퍼런스로 받은 객체를를 &로 넘겨주지 못하게 된다. 4. 1,2,3 통틀어 객체도 기본자료형과 동일한 취급을 위해서다. 예) a = b = c = z = 1; 을 연산할수 있다! 해결 방법 1. 객체의 대입연산시 operator=을 수정하게 된다면 *this로 반환하게 만든다. 주의 사항 1. 혹시 기교를 위하여 다른값으로 넘겨주길 원하는 순간부터가 주의 사항이다! 개인적인 생각, 이래나 저래나 operator= 은 left.operator=(right)으..
책 정리/Effective C++ 2판
2008. 5. 8. 00:19
최근댓글