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

움직이는YM님의 프로필 이미지
움직이는YM

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

vector #1에서 질

해결된 질문

작성

·

263

0

vector<int> v2;

v2.resize(1000);

cout << v2.size() << " " << v2.capacity() << endl;

for (int i = 0; i < 1000; i++)

{

v[i] = 100;

cout << v2.size() << " " << v2.capacity() << endl;

}

여기서 resize를 한 후 v[i]를 사용한 접근은 허용하지만

vector<int> v;

v.reserve(1000);

for (int i = 0; i < 1000; i++)

{

v[i] = 1000;

cout << v.size() << " " << v.capacity() << endl;

}

여기서 reserve를 한 후 v[i]를 사용한 접근은 왜 오류가 발생되는지 모르겠습니다.

- size (실제 사용 데이터 개수)

- capacity (여유분을 포함한 용량 개수)

니까 capacity를 잡아주면 거기에 직접 접근해서 배열처럼 값을 넣어주면 되는 것 아닌가요???

왜 안되는지 궁금합니다.

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

나중을 위해 미리 남겨둔 공간이지
'실제로' 사용중인 공간이 아니기 때문입니다.

0

답변 감사합니다!

움직이는YM님의 프로필 이미지
움직이는YM

작성한 질문수

질문하기