|
C++처럼 제조사가 많은 컴파일러는..
정석을 벗어난 코딩의 동작을 예측하지 마세요 절대로 ...
쪽쪽포비 님이 쓰신 글 :
: Lyn님 답변 감사합니다.
: 머리에 느낌표 3개가 뜰만큼, 좋은 정보가 되었습니다 ^^
:
:
: Lyn 님이 쓰신 글 :
: : 구현 하기 나름이죠...
: :
: : 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 = 에다가 값을 대입하면 당연히 에러가 발생합니다. 치명적인 ㅠ
: : :
: : : 그런데 빌더에서는
: : :
: : : 자연스럽게 넘어갑니다.
: : :
: : : 오히려 대입하고 그 값을 확인해보면 값이 아주 잘 들어가있습니다.
: : :
: : : 왜 그런지 궁금하기도 하고 이해가 안갑니다 ㅠ,
: : :
: : : 고수님들의 조언 부탁드립니다.
|