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

빵이좋아님의 프로필 이미지
빵이좋아

작성한 질문수

홍정모의 따라하며 배우는 C++

9.12 이니셜라이져 리스트 initializer list

대입연산자와 생성자 질문

작성

·

214

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

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

빵이좋아님의 프로필 이미지
빵이좋아

작성한 질문수

질문하기