대입 연산자의 경우 *this 참조반환하는 것이 C++ 에서의 관례이다.
그러므로, 가능하면 클래스 대입 연산자를 구현 시 이 관례를 지키는 것이 좋다.
이는 단순 대입연산자 뿐만 아니라 모든 대입 연산자에서 지켜져야 한다. ( +=, -=, *= 등 )
각종 표준 라이브러리에서도 따르고 있는 관례이니 만큼 참고하여 대입 연산자를 구현하도록 하자.
Class Unit {
public:
...
Unit& operator = (const Unit& u )
{
...
return *this;
}
Unit& operator += (const Unit& u )
{
...
return *this;
}
};
'Working on' 카테고리의 다른 글
[Effective C++] operator= 에서는 자기대입에 대한 처리가 빠지지 않게하자 / 복사 후 맞 바꾸기 (Copy and Swap) (0) | 2021.05.19 |
---|---|
[Effective C++] operator= 에서는 자기대입에 대한 처리가 빠지지 않게하자 (0) | 2021.05.19 |
NVIDIA NVTAGS ( Topology-Aware GPU Selection ) 메뉴얼 읽기 - 1 (0) | 2021.04.21 |
[Effective C++] 항목 9: 객체 생성 및 소멸 과정 중에는 절대로 가상함수를 호출하지 말자 (0) | 2021.04.09 |
Getting started with MIG (0) | 2021.03.21 |