• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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 에 복사된다.

이렇게 이해하면 되는것인가요?

답변 1

답변을 작성해보세요.

2

안소님의 프로필

안소

2021.07.28

음 이 부분은 copy constructor 가 실행 되는게 아니라 AutoPtr의 AutoPtr(T* ptr = nullptr) 이 생성자가 실행되는 것입니다.

복사 생성자가 호출되려면 인자가 똑같은 타입의 객체가 들어와야해요! "AutoPtr<Resource> res = 또다른 AudoPtr 객체" 이런 식이어야 복사 생성자가 호출되는거에요! 

AutoPtr<Resource> res = new Resource 이 식은 그저 AutoPtr 클래스 타입의 res 객체를 만드려는건데 Resource 객체가 인자로 들어갔을 뿐입니다.