[ Effective C++ ] 정리 모음집
" C++ 프로그래머의 필독서, 스콧 마이어스의 Effective C++ 를 읽고 내용 요약 / 정리 "
" 컴파일러는 경우에 따라 암시적으로 기본 생성자, 복사 생성자, 복사 대입 연산자, 소멸자를 만들기도 한다! "
- 암시적으로 만들어진 멤버 함수들이 어떤 동작을 하고 어떤 문제를 일으키는지 파악 후 적절히 대처 하자!
컴파일러는 프로그래머가 따로 만들지 않으면 저절로 멤버함수를 만들어 내기도 함.
기본 생성자, 소멸자, 복사 생성자, 복사 대입 연산자
컴파일러가 만들어 내는 함수의 형태는 모두 기본 형.
public 멤버이며 inline 함수로 만듦.
기본 클래스 및 비정적 데이터 멤버의 생성자 소멸자 호출 코드를 생성 함.
기본 클래스의 소멸자가 비가상 소멸자라면 상속 받은 파생 클래스 또한 비가상 소멸자
원본 객체의 비정적 데이터를 사본 객체 쪽으로 복사해주는 역할
참조자, 상수 멤버 객체를 가진 경우 직접 복사 대입 연산자를 정의해야 함.
참조자, 상수는 수정할 수 없기 때문 컴파일러 오류가 발생 함
복사 대입 연산자를 private로 선언한 기본 클래스로 부터 파생된 클래스는 암시적 복사 개입 연산자를 가질 수 없음.