gyun6266   1년 전

아래 코드에서 주석 처리한 부분같이 쓰면 결과가 계속 0이 나오더라구요.. 

왜 그런지 아시는 고수님 있으실까요?

train0113   1년 전

vector v(n): N의 크기만큼 배열을 생성하며, 동시에 각 배열의 값을 0으로 초기화한다.

vector v(1001)를 선언하면 0으로 채워진 1001개의 배열이 할당됩니다. (즉 size가 1001이고 capacity또한 1001인 상황)

이후 push_back을 시행하면 생성된 배열 뒤에 값이 들어갑니다.

즉, vector v(1001)를 선언하면 0 0 0 0 0 ..(1001개의 0).. 0 1 2 2 3 3 3 4 4 4 4 5 ...이 최종적인 vector의 값이므로 결과가 0이 나옵니다.

조금 더 자세히는 size와 capacity 그리고 vector.resize(n)과 vector.reserve(n) 함수의 사용법 까지도 찾아서 읽어보시면 도움이 될 것 같습니다.

gyun6266   1년 전

감사합니다!!!

댓글을 작성하려면 로그인해야 합니다.