강의

멘토링

로드맵

Inflearn Community Q&A

hoho31530739's profile image
hoho31530739

asked

Following and Learning C++ with Hong Jeong-mo

15.3 Move constructors and move assignments

복사 생성자 질문

Written on

·

248

·

Edited

0

main_res = generateResource();

여기서 main_res와 generateResource()가 서로 같은 타입의 객체니까 복사 생성자가 호출이 되는건 알겠는데 복사 생성자가 호출이 된 다음에 왜 대입연산자 오버로딩을 한게 호출이 되나요??

그렇게 된다면

여기서 해보니까 move constructor인 복사 생성자가 호출이 되고 거기서 a.m_ptr = nullptr을 해주어서

AutoPtr destructor가 호출이 됬는데 그 후에

오버로딩한 대입연산자가 실행되어지면 이미 m_ptr에 복사 생성자에서 복사를 했는데 왜 또 똑같이 복사를하고 a.m_ptr이 이미 삭제가 되어있는데도 제대로 동작을 하는건가요??

복사생성자C++

Answer 1

0

음.. 이건 생성자 부분에 디버그 포인트를 찍어서

하나씩 살펴보시는 것이 가장 정확할 것 같은데 그렇게 확인해보시겠어요?

복사 생성자는 기본적으로 객체당 하나씩 실행됩니다.

 

hoho31530739's profile image
hoho31530739

asked

Ask a question