Written on
·
190
0
여기서 각 원소들을
Pos {-1, 0}이런 모양으로 넣으셨는데 이게
중괄호 초기화는 아닌거같고
어떤 원리인가요?
Answer 1
0
C++은 늘 새로운 문법이 추가되니
그냥 실험을 하고 구글링을 해보고
[오 이런게 있구나?] 하고 받아들이시면 됩니다.
(-1, 0)이 안되는 이유는 int 2개 받는 생성자가 없어도 그렇고
{-1, 0} 방식은 int 2개 받는 생성자가 없어도 깨알같이 알아듣고 순서대로 넣어줍니다.
initializer_list가 있으면 { }를 사용하기 힘들어 진다는 것이지,
{ }를 사용하기 위해 initializer_list가 있어야 한다는건 아닙니다.
그리고 늘 그렇지만 구글링을 생활화하면 좋은 블로그나 설명들이 많습니다.
https://lakanto.tistory.com/28
어 그런데 중괄호 초기화를 하려면 생성자를 initializer_list<int> list
이런식으로 만들어줘야 하는거아닌가요??
안만들어줘도 된다고 치면 Pos(-1, 0)은 왜 안될까요..ㅠ
메모해뒀던 중괄호 초기화 코드를 보니까
Knight kt{1, 2}같이 객체하나 만들면서 초기화했는데
Pos{-1, 0}은 객체가 또 없고 너무 헷갈리네요..