-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
복사 생성자 질문
22.12.18 14:44 작성 22.12.18 14:48 수정 조회수 174
0
main_res = generateResource();
여기서 main_res와 generateResource()가 서로 같은 타입의 객체니까 복사 생성자가 호출이 되는건 알겠는데 복사 생성자가 호출이 된 다음에 왜 대입연산자 오버로딩을 한게 호출이 되나요??
그렇게 된다면
여기서 해보니까 move constructor인 복사 생성자가 호출이 되고 거기서 a.m_ptr = nullptr을 해주어서
AutoPtr destructor가 호출이 됬는데 그 후에
오버로딩한 대입연산자가 실행되어지면 이미 m_ptr에 복사 생성자에서 복사를 했는데 왜 또 똑같이 복사를하고 a.m_ptr이 이미 삭제가 되어있는데도 제대로 동작을 하는건가요??
답변을 작성해보세요.
0
강민철
2022.12.20
음.. 이건 생성자 부분에 디버그 포인트를 찍어서
하나씩 살펴보시는 것이 가장 정확할 것 같은데 그렇게 확인해보시겠어요?
복사 생성자는 기본적으로 객체당 하나씩 실행됩니다.
답변 1