• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

대입연산자와 생성자 질문

21.12.13 19:50 작성 조회수 141

0

IntArray int_array { 1, 2, 3, 4, 5 };

int_array = {6, 8, 10}; // 이 부분

주석 친 부분 디버깅 해보니까

IntArray(const std::initializer_list<int> &list): IntArray(list.size())

여기 생성자가 실행되고나서 대입연산자 오버로딩 부분이 실행되었어요 근데 { 6 ,8, 10 } 이게 왜 IntArray 클래스 생성자가 실행되는지..? 잘 모르겠어요

 

int_array = {6, 8, 10}; 이게

int_array = IntArray ({6, 8, 10} ); 이것과 같은 의미인건가요?

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.12.16

initializer_list 인 { 6 ,8, 10 } 을 가지고 IntArray 객체를 만든 후 (즉, 저 생성자 실행) int_array 에 대입했다고 생각해주시면 될 것 같아요 !