이것만은 잊지 말자!

- 대입 연산자는 *this의 참조자를 반환하도록 만들자

int x, y, z;
x = y = z = 15; // 대입 연산 사슬

 

대입 연산 사슬이 되려면 대입 연산자가 좌변 인자 참조자를 반환해야 하므로 모든 형태의 대입 연산자에서 지키는 것이 관례

기본 제공 타입 뿐만 아니라 표준 라이브러리에 속한 모든 타입에서도 지원

Widget& operator=(const Widget& whs){
    ...
    
    return *this;
}

Widget& operator+=(const Widget& whs){
    ...
    
    return *this;
}

Widget& operator=(int rhs){
    ...

    return *this;
}

+ Recent posts

목차