인프런 커뮤니티 질문&답변

Seongc좋은ᅵᅵheol Kim님의 프로필 이미지
Seongc좋은ᅵᅵheol Kim

작성한 질문수

C개발자를 위한 최소한의 C++

임시 객체와 보이지 않는 복사 생성

강사님 질문 드립니다.

해결된 질문

작성

·

240

·

수정됨

0

  • 임시객체와 보이지않는 복사생성 과정 프로그램에서

  • - 제가 임의로 복사생성자 부분의 프로그램을

  • TestData(const TestData& rhs)

  • {

     

  • cout << "TestData(const TestData&)" << endl;

  • }

  • - 위와 같이 수정하고

  • - F11키로 디버깅 추적을 해보면 복사생성자가

  • 분명 위의 생성자에서는 nData 를 접근하는 명령이 없는데도 아래 부분에 있는

  • private 😀

  • int nData = 0;

  • 부분을 수행합니다.

  • 왜 그런지 질문 드립니다.

  •  아울러 제가 초기화 부분 "= 0" 를 없애 버리면 수행되지 않습니다.

  •  

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

C++ 버전이 올라가고 모던 C++로 넘어가면서 클래스 선언 시 멤버에 대한 초깃값을 기술할 수 있도록 개선됐습니다. 어떤 생성자가 선택되어 호출되건 초깃값 할당은 마치 단순대입연산자처럼 수행됩니다. 참고하시기 바랍니다. 😄

Seongc좋은ᅵᅵheol Kim님의 프로필 이미지
Seongc좋은ᅵᅵheol Kim

작성한 질문수

질문하기