|
구현 하기 나름이죠...
resize 한다고 꼭 그 크기에 맞춰서 할당 할 필요는 전혀 없으니까요 =_=a
그리고 할당한 크기보다 더 큰 인덱스로 접근할 시의 동작은 정해져있지 않으니까요.
에러를 내던, 그냥 추가할당을 하던 상관 없는거죠.
쪽쪽포비 님이 쓰신 글 :
: 안녕하세요.c++ 빌더 초보 사용자 입니다.
:
: 제가 c++ 빌더에 std::vector의 resize에 관한 궁금한것이 생겨버렸습니다.
:
: 간단한 구조체가 있습니다.
:
: struct Data
: {
: int nValue ;
: };
:
: 아주 간단하죠?ㅜㅠ
:
: main에서
:
: std::vector<DATA> vData ; 라고 선언해주고
: vData.resize(4) ; 0부터 3까지 4개의 원소를 갖는 사이즈를 정해주었습니다.
:
: vs2005에서는
: vData[4].nValue = 에다가 값을 대입하면 당연히 에러가 발생합니다. 치명적인 ㅠ
:
: 그런데 빌더에서는
:
: 자연스럽게 넘어갑니다.
:
: 오히려 대입하고 그 값을 확인해보면 값이 아주 잘 들어가있습니다.
:
: 왜 그런지 궁금하기도 하고 이해가 안갑니다 ㅠ,
:
: 고수님들의 조언 부탁드립니다.
|