[ Effective C++ ] 항목 6 : 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해버리자

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

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

[핵심]

" 함수를 사용하지 않으려면 만들어야 한다고...? "

  • 컴파일러에서 자동으로 제공하는 함수를 허용치 않으려면, 대응되는 멤버 함수를 private로 선언한 후 구현을 하지 말자!

💡 필요 없다면 만들지 않으면 되는거 아니야??

  • 항목 5에서도 말했다시피 프로그래머기 만들지 않으면 컴파일러가 기본으로 생성해주는 멤버 함수가 있다!
    - 기본 생성자, 소멸자, 복사 생성자, 복사 대입 연산자
    - 신비한 동작이 보고싶지 않다면 만들어야겠지...?


📌 private 멤버로 만들고 정의를 하지 말자!

  • 컴파일러가 저절로 만드는 함수는 public으로 만들어 짐.
    - private로 멤버 함수로 만들어 외부에서의 호출을 막아버리자!

  • 정의를 하지 말자!
    - 정의를 하지 않음으로써 다른 멤버함수, friend 함수가 호출하는 것도 막음.



📌 사용하기 싫은 함수를 갖는 기본 클래스를 만들고 상속을 받자!

  • 기본 클래스로부터의 상속이 public일 필요가 없다
  • 기본 클래스의 소멸자는 가상 소멸자가 아니어도 됌
profile
오코완~😤😤

0개의 댓글

관련 채용 정보