[ Effective C++ ] 항목 5 : C++이 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자

Minsu._.Lighting·2023년 11월 14일
0

[

[ Effective C++ ] 정리 모음집
" C++ 프로그래머의 필독서, 스콧 마이어스의 Effective C++ 를 읽고 내용 요약 / 정리 "

[핵심]

" 컴파일러는 경우에 따라 암시적으로 기본 생성자, 복사 생성자, 복사 대입 연산자, 소멸자를 만들기도 한다! "

  • 암시적으로 만들어진 멤버 함수들이 어떤 동작을 하고 어떤 문제를 일으키는지 파악 후 적절히 대처 하자!

💡 컴파일러가 저절로 만들어 내는 함수??

  • 컴파일러는 프로그래머가 따로 만들지 않으면 저절로 멤버함수를 만들어 내기도 함.
    기본 생성자, 소멸자, 복사 생성자, 복사 대입 연산자

  • 컴파일러가 만들어 내는 함수의 형태는 모두 기본 형.

  • public 멤버이며 inline 함수로 만듦.



📌 기본 생성자와 소멸자

  • 기본 클래스 및 비정적 데이터 멤버의 생성자 소멸자 호출 코드를 생성 함.

  • 기본 클래스의 소멸자가 비가상 소멸자라면 상속 받은 파생 클래스 또한 비가상 소멸자



📌 복사 생성자와 복사 대입 연산자

  • 원본 객체의 비정적 데이터를 사본 객체 쪽으로 복사해주는 역할

  • 참조자, 상수 멤버 객체를 가진 경우 직접 복사 대입 연산자를 정의해야 함.
    참조자, 상수는 수정할 수 없기 때문 컴파일러 오류가 발생 함

  • 복사 대입 연산자를 private로 선언한 기본 클래스로 부터 파생된 클래스는 암시적 복사 개입 연산자를 가질 수 없음.



profile
오코완~😤😤

0개의 댓글

관련 채용 정보