방프리
17.07.07. Effective C++ 2. 생성자, 소멸자 및 대입 연산자 (항목10) 본문
항목 10: 대입 연산자는 *this의 참조자를 반환하게 하자
C++에서 기본적으로 대입 연산을 우측 연관 연산이라는 것을 이용하여 진행합니다.
예를 들어 x = y = z = 15; 라는 문장이 있다면 컴파일러는
x = (y = (z = 15) ) ); 이렇게 해석하게 되죠
대신 반환하는 것은 좌변 인자에 대한 참조자를 반환하도록 구현되어야 합니다.
일종의 관례 같은 것이죠
간단한 예를 통해 알아보겠습니다.
class Point
{
private:
int x, y;
public :
Point();
~Point();
Point& operator= (Point p)
{
x = p.x;
y = p.y;
return *this;
}
};
이런 식으로 자기 자신을 반환하도록 합니다.
이번 항목은 꼭 외우고 넘어가도록 합시다.
'C++ > Effective C++' 카테고리의 다른 글
17.07.11. Effective C++ 2. 생성자, 소멸자 및 대입 연산자 (항목12) (0) | 2020.01.07 |
---|---|
17.07.10. Effective C++ 2. 생성자, 소멸자 및 대입 연산자 (항목11) (0) | 2020.01.07 |
17.07.07. Effective C++ 2. 생성자, 소멸자 및 대입 연산자 (항목9) (0) | 2020.01.06 |
17.07.04. Effective C++ 2. 생성자, 소멸자 및 대입 연산자 (항목8) (0) | 2020.01.05 |
17.6.13. Effective C++ 2. 생성자, 소멸자 및 대입 연산자 (항목7) (0) | 2020.01.05 |
Comments