이것만은 잊지 말자!
- 대입 연산자는 *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;
}
'C++ > Effective C++' 카테고리의 다른 글
Effective C++ 항목 12 객체의 모든 부분을 빠짐없이 복사하자 (0) | 2024.07.03 |
---|---|
Effective C++ 항목 11 operator=에서는 자기대입에 대한 처리가 빠지지 않도록 하자 (0) | 2024.07.02 |
Effective C++ 항목 9 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말자 (0) | 2024.07.01 |
Effective C++ 항목 8 예외가 소멸자를 떠나지 못하도록 붙들어 놓자 (0) | 2024.07.01 |
Effective C++ 항목 7 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자 (0) | 2024.07.01 |