-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
AutoPtr<Resource> res = new Resource
21.07.27 13:36 작성 조회수 126
0
안녕하세요.
아래 두분이 질문을 주셨었는데요..
AutoPtr<Resource> res = new Resource
이것은
1. res 객체를 만들고
2. copy constructor 이 실행되어
3. new Resource의 주소가
4. res의 m_ptr 에 복사된다.
이렇게 이해하면 되는것인가요?
답변을 작성해보세요.
2
안소
2021.07.28
음 이 부분은 copy constructor 가 실행 되는게 아니라 AutoPtr의 AutoPtr(T* ptr = nullptr) 이 생성자가 실행되는 것입니다.
복사 생성자가 호출되려면 인자가 똑같은 타입의 객체가 들어와야해요! "AutoPtr<Resource> res = 또다른 AudoPtr 객체" 이런 식이어야 복사 생성자가 호출되는거에요!
AutoPtr<Resource> res = new Resource 이 식은 그저 AutoPtr 클래스 타입의 res 객체를 만드려는건데 Resource 객체가 인자로 들어갔을 뿐입니다.
답변 1