복사 생성자와 대입 연산자 오버로딩

sz L·2023년 3월 31일
1

C++

목록 보기
29/40
post-thumbnail

복사 생성자

  • 얕은 복사와 깊은 복사로 나눌 수 있다
  • 복사 생성자를 정의하지 않으면 디폴트 복사 생성자가 생긴다
  • 깊은 복사가 필요하면 직접 정의 해야 함

대입 연산자 오버로딩

  • 정의하지 않으면 디폴트 대입 연산자가 생김
  • 디폴트 대입연산자는 얕은복사 함
  • 연산자 내에서 동적할당 하거나 깊은 복사 필요하면 직접 정의 필요

복사 생성자와 대입 연산자 오버로딩의 호출시점!

복사 생성자는 객체가 새로 생성되는 시점에서 대입을 할 때 호출이 됨

대입 연산자는 객체 두 개가 이미 생성 및 초기화 된 상태에서 대입을 할 때 호출 됨

!대입 연산자 주의할 점!

연산자 내에 동적 할당이 된 경우, 이전에 동적 할당되었던 데이터를 해제해야 함

참조했던 사이트

profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글