Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- box2d
- ccbi
- Default-568h.png
- Derived Data
- scale
- .svn
- Undefined symbols for architecture armv7s
- UIView
- xib
- release
- storyboard
- 태그를 입력해 주세요.
- Debug
- NSHomeDirectory
- cocos2d-x
- LLVM
- SBTarget
- 멀티태스킹
- Xcode
- CCLOG
- landscape
- /var/mobile/Applications
Archives
- Today
- Total
standwally
복사 생성자 본문
자기 자신과 같은 형태의 객체를 인자로 받을 수 있는 생성자를 가리켜 "복사 생성자"라고 한다. 그리고 자동으로 삽입되는 복사 생성자를 가리켜 "디폴트 복사 생성자"라 한다.
- 얕은 복사(shallow copy) : 디폴트 복사 생성자를 통한 객체 생성시, 인자로 넘겨받은 객체의 주소 값만을 복사함.
- 깊은 복사(deep copy) : 개발자가 임의로 디폴트 복사 생성자를 재정의하여, 멤버 변수를 새롭게 동적할당하게끔 함.
복사 생성자가 호출되는 시점은 다음과 같이 세 가지 형태로 분류할 수 있다.
- 기존에 생성된 객체가 새로운 객체를 초기화하는 경우
- 함수 호출 시 객체를 값에 의해 전달하는 경우(매개 변수로 생성되는 객체의 복사 생성자가 호출되는 것임)
- 함수 내에서 객체를 값에 의해 리턴하는 경우