해결된 질문
작성
·
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를 잡아주면 거기에 직접 접근해서 배열처럼 값을 넣어주면 되는 것 아닌가요???
왜 안되는지 궁금합니다.