반응형
Effective C++ 항목5
컴파일러가 기본으로 만드는 함수들에 촉각을 세우자
- 개발자가 클래스에 기본 생성자/복사 생성자/소멸자/복사 대입 연산자를 선언하지 않으면?
- 컴파일러가 필요하다고 판단하여 이 함수들을 알아서 기본형으로 만듦
- 소멸자의 경우, 기본 클래스의 소멸자가 가상이 아니면 동일하게 비가상 소멸자로 만듦
- 복사 생성자/복사 대입 연산자의 경우, 복사하는 변수들이 컴파일러가 아는 기본형이라면 자동 생성
- 컴파일러가 모르는 자료형이라면, legal하지 않다면, resonable하지 않다면 생성하지 않음
- ex) 복사 대상이 참조자, 상수이라면 자동 생성 실패 (컴파일 거부)
- 컴파일러가 모르는 자료형이라면, legal하지 않다면, resonable하지 않다면 생성하지 않음
반응형
'Book & Lecture > Effective C++' 카테고리의 다른 글
Effective C++ 항목8 : 예외가 소멸자를 떠나지 못하도록 붙들어 놓자 (0) | 2023.02.06 |
---|---|
Effective C++ 항목7 : 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자. (0) | 2023.02.05 |
Effective C++ 항목6 : 컴파일러가 만들어낸 함수가 필요 없다면 사용을 금지하자 (0) | 2023.01.27 |
Effective C++ 항목4 : 객체를 사용하기 전에 반드시 그 객체를 초기화하자 (0) | 2023.01.25 |
Effective C++ 항목1~3 정리 요약 (0) | 2023.01.24 |