복사생성자가 호출되는 시점
1. 기존에 생성된 객체로 새로운 객체를 초기화하는 경우
2. 함수 호출 시 객체를 값에 의해 전달하는 경우
3. 함수 내에서 객체를 값에 의해 리턴하는 경우
1. 기존에 생성된 객체로 새로운 객체를 초기화하는 경우
#include <iostream> class AAA return 0; |
2. 함수 호출 시 객체를 값에 의해 전달하는 경우
call-by-value 함수 호출 과정
1) 매개 변수를 위한 메모리 공간 할당
2) 전달 인자 값의 복사
=> 복사생성자의 호출을 통해서 이 과정을 처리
#include <iostream> class AAA return 0; |
3. 함수 내에서 객체를 값에 의해 리턴하는 경우
- 리턴되는 값은 받아주는 변수가 없더라도, 함수를 호출한 영역으로 복사되어 넘어간다.
- 호출한 영역으로 객체가 복사되어 넘어갈 것.!
#include <iostream> class AAA return 0; |
출처: 열혈강의 C++프로그래밍