클래스의 멤버 변수를 이렇게 선언했음
그리고 멤버 이니셜라이저 리스트를 이용해서 저렇게 초기화를 했는데
나중에 찾아보니까 이니셜라이저 리스트에 적어놓은 순서는 상관 없고
클래스에 멤버 변수 써놓은 순서대로 변수가 초기화 된다고 하더라고
내가 저렇게 써 둬서 문제 풀때 bus error 발생한거 같은데..
만약 저렇게 되면 arr의 동적할당은 어떻게 되는거임?
쓰레기값 capacity로 char 배열을 동적할당 하는것 까진 알겠는데
이러면 힙 영역에 배열이 뭐 어떻게 잡히는건지 잘 모르겠음..
capacity가 아니라 x값 넣으면 되잖아
그것도 되겠지 근데 난 본문에 써놓은대로 하면 어떻게 되는지가 궁금해서
msize같은 함수로 메모리 얼마나 할당됐는지 찍어보셈
"쓰레기값 capacity로 char 배열을 동적할당 하는것 까진 알겠는데 이러면 힙 영역에 배열이 뭐 어떻게 잡히는건지 잘 모르겠음.." 쓰레기값 capacity로 char 배열이 할당되면, 그걸 가리키겠지.
배열이 엄청 크게 나오거나 크기가 0으로 나올수도 있다는거?
1. 배열이 엄청 크게 나올 수 있음 2. 크기가 0인 배열이 생길 수도 있고 nullptr을 반환할 수도 있고
고맙다
초기화리스트에서 위 코드처럼 new를 호출하거나 그런 코드는 여태 못본거 같은데... 생성자 바디에서 하는게 어떤지?
초기화리스트에서 new 호출하는게 맞아
그러네... 초기화리스트에서 해도 문제없네...
Undefined Behavior
ub - dc App