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++프로그래밍
'Language > C++' 카테고리의 다른 글
const 멤버 함수 / const 객체 (1) | 2011.03.07 |
---|---|
멤버 이니셜라이저의 필요성 _const 멤버 변수를 초기화 (0) | 2011.03.07 |
깊은 복사(Deep Copy) ..(const Person& p) 명시적 정의 (0) | 2011.03.07 |
객체 포인터 배열 (0) | 2011.03.04 |
생성자와 동적할당 (0) | 2011.03.04 |