• CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다.
  • CSE207 수강생이 아니여도 편안하게 질문하세요.
  • 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다.

제목Review 3 3번 문제2019-12-18 17:05
작성자

main


whie(pItem->readItemFromFile(fin)){

  vItem.push_back(pItem);

  pItem = new FoodItem;

}


int readItemFromFile(istream& _fin) {

if(!_fin)

  return 0;

_fin >> code >> name >> price >> company;

return 1;

}


위에 처럼 해서 빌드했는데 vItem에 쓰레기값이 저장됩니다. 왜 그런 것인지 알고 싶습니다.

foodItem.txt에 내용이 2줄 있는데 왜 3번째에 쓰레기값이 저장되는 건가요?

2번째 줄까지 읽고 난 후에 다음 줄을 읽으려고 하면

if(!_fin) return 0에 의해 값이 0이 되어서 반복문을 탈출하는 거 아닌가요?

2번째까지 읽은 후에 새로 동적 할당된 FoodItem에 왜 쓰레기값이 들어가는지랑

push_back를 해 주지 않았음에도 vItem에 왜 쓰레기값이 저장되는지 모르겠습니다.

댓글
이전문자 입출력 관련 질문2020-01-18
다음v1.begin() , begin(v1) 차이가 있나요?2019-12-17