대입연산자
이펙티브 C++(99p ~ 111p)
이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 99p ~ 111p 요약 항목 9: 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말자 객체 생성 및 소멸 과정 중에는 가상 함수를 호출하면 절대로 안 된다. 해당 과정에서 호출한 가상 함수는 우리가 원하는 대로 돌아가지 않을 것이다. 주식 거래를 위해 다음과 같은 클래스를 정의했다고 가정하자. // 주식 거래에 대한 기본 클래스 // 주식 거래 모델링에 있어 중요한 기능은 감사(audit) 기능 // 따라서 주식 거래 객체가 생성될 때마다 감사 로그를 기록하기 위한 기능이 필요 class Transaction { public: Transaction(); // 주식 거래 타입에 따라 달라..
이펙티브 C++(80p ~ 89p)
이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 80p ~ 89p 요약 2. 생성자, 소멸자 및 대입 연산자 거의 모든 C++ 클래스에 한 개 이상 꼭 들어 있는 것들이 생성자, 소멸자, 대입 연산자이다. 생성자는 새로운 객체를 메모리에 만드는 데 필요한 과정을 제어하고 객체의 초기화를 담당한다. 소멸자는 객체를 없앰과 동시에 그 객체가 메모리에서 적절히 사라질 수 있도록 하는 과정을 제어한다. 대입 연산자는 기존의 객체에 다른 객체의 값을 줄 때 사용한다. 항목 5: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 클래스가 비어 있지만(empty) 비어 있는게 아닌 때가 언제일까? 일단은 C++ 컴파일러가 빈 클래스를 훑고 지나갈 때..