자유 게시판 / Forum

>> 수강생 said,: Circular List 자료에 logical error가 난 것 같아 쪽지 드립니다.

by prof, 11월 1일, 23:09


안녕하세요 교수님, 자료구조 059분반을 수강하고 있는 학생입니다.
강의 43에 나온 List initialization 420 - Circular List 자료에
logical error가 난 것 같아 쪽지 드립니다.
함수에 List가 call by value로 주어져서
if(it == L.end())문이 소용 없어지고 it++만 실행되어 L.end()의
garbage 값도 출력이 됩니다. 함수 인자의 List를 reference로 받으면 될 것 같습니다.
날씨가 쌀쌀해지고 있습니다. 감기 조심하세요 :) 감사합니다.

>> 예, 맞습니다. 그건 "그렇게 하면 오류가 난다. 조심하자!" 라는 뜻으로 만든
>> 코드입니다. 넘어갈 때 call by value로 넘어가므로 iterator가 엉뚱한 것을
>> 가르키게 됩니다. 원래 의도한 것과 다르게,, 그런 상황에서 나오는 오류를
>> 확인하자는 의미로 만들어진 코드입니다. python하고 헷갈리기 쉬운 내용입니다.
>> 넘어가는 list와 넘겨진 iterator는 서로 맞지 않는 상황입니다. 기대와 달리,,,
>> 아마 제대로 된 코드도 그 안에 있지 싶습니다.
>> 간혹 test용으로 만든 코드를 지우지 못한 경우도 있으니
>> 코드가 "개떡" 같아도 총명한 여러분이 "찰떡"같이 잘 헤아려 보시길 바랍니다.
>> 사실을 확인해준 수강생의 기특함을 칭찬합니다. ㅎㅎ