#4. [레거시 C++ 개체 지향] 클래스의 암시적 정의(은근슬쩍 만들어 지는 것들)
은근슬쩍 만들어 지는 것들은 유효한지 검토하고, 유효하지 않다면 사용하지 못하게 막아라.
은근슬쩍 만들어 지는 것들은 유효한지 검토하고, 유효하지 않다면 사용하지 못하게 막아라.
획득된 자원은 꼭 소멸시켜라. 암시적 소멸자가 정상 작동하도록 멤버 변수 정의시 스마트 포인터(auto_ptr, unique_ptr, shared_ptr 등)를 사용하라. 다형 소멸이 필요하면 부모 개체에 가상 소멸자를 사용하라.(가상 소멸자가 아니면 ...
멤버 변수가 1개라면, 암시적 복사 대입 연산자가 정상 동작하도록 멤버 변수 정의시 스마트 포인터(shared_ptr 등)를 사용하고, 필요없다면 못쓰게 만들어라. 멤버 변수가 2개 이상이라면, 복사 대입 연산자를 예외에 안전하도록 swap()으로 구현하고, ...
기본 생성자가 필요하다면 명시적으로 구현하고, 필요없다면 못쓰게 만들어라. 값 생성자에서는 필요한 인자를 모두 나열하고 초기화하라. 인자가 1개인 값 생성자(형변환 생성자)는 explicit로 암시적 형변환을 차단하라. 암시적 복사 생성자가 정상...