이펙티브C++ 2

[요약] Effective C++ 2장-2 (항목09~12)

[요약] Effective C++ 2장-2 (항목09~12) 2장 생성자, 소멸자 및 대입 연산자 - 2 항목 09: 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말자 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말아야 하는- * 두. 가. 지. 이. 유. !!! 1) 우선 호출 결과가 여러분이 원하는 대로 돌아가지 않을 것이고, 2) 원하는 대로 돌아간다고 해도 여러분은 여전히 방귀를 세 시간은 참은 것 같은 얼굴을 하고 있을 것이기 분명하기 때문이다. 주식 거래를 본뜬 클래스 계통 구조가 있다고 가정하자. 여기엔 매도주문, 매수주문 등등이 있다. 주식거래 모델링에서 가장 중요한 포인트라면 감사(audit) 기능이 있어야 한다는 것이다. 그렇기 때문에 감사로그(audit..

[요약] Effective C++ 2장-1 (항목05~08)

[요약] Effective C++ 2장-1 (항목05~08) 2장 생성자, 소멸자 및 대입 연산자 - 1 항목 05: C++이 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 빈 클래스(empty class)를 프로그래머가 선언할때에 자동적으로 컴파일러는 기본생성자(default constructor), 복사생성자(copy constructor), 복사대입연산자(copy assignment operator), 그리고 소멸자(destructor)를 선언한다. 1: class Empty{}; 만약 여러분이 위와 같이 썼다면, 1: class Empty{ 2: public: 3: Empty() { ... } // 기본 생성자 4: Empty(const Empty &rhs) { ... } // 복사 생성자..