작성
·
220
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 에 대입했다고 생각해주시면 될 것 같아요 !