C++

    C++의 Rule of Zero

    한참 전에 업무에서 C++을 사용하던, 평생 C++을 쓸 것 같았던 그 시절 공부했던 기록을 찾아서 남겨본다. Rule of Three, Rule of Five에 대해서 간단히 정리하자면... Rule of Three는 소멸자, 복사 생성자, 복사 할당 연산자 중 하나를 정의했다면 다른 것도 같이 정의해야 한다는 것이다. Rule of Five는 모던으로 넘어오면서 위의 3개에서 이동 생성자, 이동 할당 연산자를 추가 한 것이다. 단순히 무조건 기계적으로 만들어라라기 보다는, 저 중 하나를 만들었으면 다른 것에 대한 생각을 무조건 하고, 적절한 처리를 해야된다는 뜻이다. (포인터를 멤버로 가지고 있고 소멸자에서 그 포인터를 할당 해제 하는 클래스가 있을 때, 복사 생성자를 정의 안하면 복사된 인트선스와 ..