KoreanFoodie's Study
Effective C++ | 항목 10 : 대입 연산자는 *this 의 참조자를 반환하게 하자 본문
			Tutorials/C++ : Advanced
			
		Effective C++ | 항목 10 : 대입 연산자는 *this 의 참조자를 반환하게 하자
GoldGiver 2022. 10. 25. 16:06
C++ 프로그래머의 필독서이자 바이블인, 스콧 마이어스의 Modern Effective C++ 를 읽고 기억할 내용을 요약하고 있습니다. 꼭 읽어보시길 추천드립니다!
항목 10 : 대입 연산자는 *this 의 참조자를 반환하게 하자
핵심 :
대입 연산자는 *this 의 참조자를 반환하도록 만들어라
C++ 의 대입 연산은 여러 개가 사슬처럼 엮일 수 있다.
int x, y, z;
// 대입은 우측 연관(right-associative)이다.
x = y = z = 15; 
// 따라서 위 식은 실제로 아래와 같다
x = (y = (z = 15)));대입 연산이 사슬처럼 엮이려면 대입 연산자가 좌변 인자에 대한 참조자를 반환하도록 구현하는 것이 좋다(일종의 관례[convention] 이다). 이는 += , -= 의 경우에도 마찬가지이다.
class Widget
{
  public:
    Widget& operator=(const Widget& rhs)
    {
      // 대입 연산 수행
      ...
      return *this;
    }
    Widget& operator=(const Widget& rhs)
    {
      // 연산 수행
      ...
      return *this;
    }
    Widget& operator=(const Widget& rhs)
    {
      // 연산 수행
      ...
      return *this;
    }
};
'Tutorials > C++ : Advanced' 카테고리의 다른 글
| Effective C++ | 항목 12 : 객체의 모든 부분을 빠짐없이 복사하자 (0) | 2022.10.25 | 
|---|---|
| Effective C++ | 항목 11 : operator= 에서는 자기대입에 대한 처리가 빠지지 않도록 하자 (0) | 2022.10.25 | 
| Effective C++ | 항목 9 : 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말자 (0) | 2022.10.25 | 
| Effective C++ | 항목 8 : 예외가 소멸자를 떠나지 못하도록 붙들어 놓자 (0) | 2022.10.25 | 
| Effective C++ | 항목 7 : 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자 (0) | 2022.10.25 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				 
								 
								 
								