본문 바로가기
Book & Lecture/Effective C++

Effective C++ 항목5 : 컴파일러가 기본으로 만드는 함수들에 촉각을 세우자

by studio ODOC 2023. 1. 26.
반응형

Effective C++ 항목5

컴파일러가 기본으로 만드는 함수들에 촉각을 세우자

 

  • 개발자가 클래스에 기본 생성자/복사 생성자/소멸자/복사 대입 연산자를 선언하지 않으면?
    • 컴파일러가 필요하다고 판단하여 이 함수들을 알아서 기본형으로 만듦
    • 소멸자의 경우, 기본 클래스의 소멸자가 가상이 아니면 동일하게 비가상 소멸자로 만듦
    • 복사 생성자/복사 대입 연산자의 경우, 복사하는 변수들이 컴파일러가 아는 기본형이라면 자동 생성
      • 컴파일러가 모르는 자료형이라면, legal하지 않다면, resonable하지 않다면 생성하지 않음
        • ex) 복사 대상이 참조자, 상수이라면 자동 생성 실패 (컴파일 거부)
반응형