int x, y, z;
x = y = z = 15; // 연속적인 대입 (chaining)
x = (y = (z = 15));
15가 z에 먼저 할당되고,z)가 다시 y에 할당되며,y가 x에 할당된다.class Widget {
public:
Widget& operator=(const Widget& rhs) // 반환 타입은 현재 클래스의 참조형
{
...
return *this; // 왼쪽 피연산자 객체를 반환
}
};
std::string, std::vector, std::complex, std::shared_ptr 같은 모든 표준 라이브러리 타입도 이 규칙을 따름.*this에 대한 참조를 반환해야 한다.💫Things to Remember
*this에 대한 참조를 반환해야 한다.