의 코멘트 섹션에서 스레드가 이 게시물 사용에 대한 std::vector::reserve()비교는std::vector::resize() .
다음은 원래 코드입니다.
void MyClass::my_method()
{
my_member.reserve(n_dim);
for(int k = 0 ; k < n_dim ; k++ )
my_member[k] = k ;
}
에서 요소를 작성 vector하는 올바른 방법은를 호출하는 것이 std::vector::resize()아니라std::vector::reserve() .
실제로 VS2010 SP1의 디버그 빌드에서 다음 테스트 코드가 "충돌"됩니다.
#include <vector>
using namespace std;
int main()
{
vector<int> v;
v.reserve(10);
v[5] = 2;
return 0;
}
내가 맞습니까, 아니면 틀렸습니까? 그리고 VS2010 SP1이 맞습니까, 아니면 틀렸습니까?