게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
아랫분(할말이있어) 글에 답변 드립니다
게시물ID : programmer_5489짧은주소 복사하기
작성자 : 랜덤여신
추천 : 1
조회수 : 353회
댓글수 : 2개
등록시간 : 2014/09/17 22:48:53
제가 신규 회원이라 댓글을 못 쓰기에 이렇게라도 답변 드립니다.

C++에서 대입 연산자를 오버라이딩하지 않아도 기본 동작이 수행됩니다. 이 기본 동작은 C의 구조체에서 적용되는 놈이랑 같은 겁니다.

즉, 모든 멤버 변수 (구조체라면 모든 필드) 를 복사해 오는 겁니다.

많은 경우 이것만으로도 충분합니다. 하지만 조심해야 할 때도 있습니다.

멤버 변수로 포인터가 있다고 생각해 봅시다. 이 경우에 기본 대입 동작은 포인터 값을 그대로 복사해 오는 것입니다. 그런데 만일 그 포인터가 가리키는 내용이 동적 할당으로 만들어진 것이라면 문제가 될 수 있습니다. 왜냐하면 나중에 할당을 해제할 때 이쪽 클래스랑 저쪽 클래스에서 중복으로 해제가 될 것이기 때문입니다. 이런 경우에는 필히 대입 연산자를 오버라이딩해 줘야겠죠.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호