본문 바로가기

항목 10. 대입 연산자는 *this의 참조자를 반환하게 하자. Effective C++의 이번 항목 내용은 관례(Convention)에 대한 이야기 입니다. C++의 대입연산은 여러 개가 사슬처럼 엮일 수 있는 성질을 갖고 있습니다. 아래와 같이 말입니다. int x,y,z; x = y = z = 15; 대입 연산이 가진 또 하나의 재미있는 특성은 바로 우측 연관(Right-associative) 연산이라는 점입니다. 즉, 위의 대입 연산 사슬은 다음과 같이 분석이 됩니다. x = (y = (z = 15))); 위 소스코드를 보면, 15가 z에 대입되고, 그 대입 연산의 결과가 y에 대입된후에, y에 대한 대입 연산의 결과가 x에 대입이 됩니다. 이렇게 대입 연산이 사슬처럼 엮일려면 대입 연산자가 좌변 인자에 대한 참조자를 반환하도록 구현되어 있기 때문일 것입니다... 더보기
항목 9. 객체 생성 및 소멸 과정중에는 절대 가상 함수를 호출하지 말자!!! 일단은 객체의 생성 과정중에 가상함수를 호출 하면 어떤일이 발생하는지 알아 보겠는데, 그전에 객체의 생성과정중 객체 생성 순서를 알아 보도록 하겠습니다. #include using namespace std; class Base { public: Base(){cout 더보기
항목 8. 예외가 소멸자를 떠나지 못하도록 붙들어 놓자 #include #include using namespace std; class DBConnection { public: //DBConnection 객체를 반환하는 함수. static DBConnection create() { cout 더보기