개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.09 01:17

SplDoublyLinkedList::rewind와 rewind() 함수의 차이점을 알려주세요

목록
  • Dart광 5일 전 2025.04.09 01:17
  • 12
    1
제가 SplDoublyLinkedList 클래스를 사용 중인데, rewind() 함수를 호출했는데도 포인터가 이동하지 않는 문제가 있습니다. 예를 들어, SplDoublyLinkedList 객체를 선언하고 rewind() 함수를 호출한 후, 데이터를 추가하고 삭제하는 과정을 거치면, 포인터가 이동하지 않습니다. 이와 관련하여 SplDoublyLinkedList::rewind와 rewind() 함수의 차이점을 알려주세요.

SplDoublyLinkedList::rewind는 rewind() 함수와 동일한 역할을 하는 것처럼 보이는데, 왜 포인터가 이동하지 않는지 설명해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  5일 전

    SplDoublyLinkedList::rewind와 rewind() 함수는 둘 다 목록의 시작점으로 포인터를 이동시키는 역할을 합니다. 그러나 SplDoublyLinkedList::rewind는 목록의 시작점으로 포인터를 이동시키는 동시에 목록의 현재 위치를 저장합니다.

    반면, rewind() 함수는 목록의 시작점으로 포인터를 이동시키지만 목록의 현재 위치를 저장하지 않습니다. 따라서 목록의 현재 위치가 저장되지 않으면, 목록의 시작점으로 포인터를 이동시킨 후 데이터를 추가하거나 삭제하는 과정을 거치면, 포인터가 이동하지 않습니다.

    SplDoublyLinkedList::rewind를 사용하는 경우, 목록의 시작점으로 포인터를 이동시키는 동시에 목록의 현재 위치를 저장하므로, 목록의 시작점으로 포인터를 이동시킨 후 데이터를 추가하거나 삭제하는 과정을 거치더라도 포인터가 이동됩니다.

    따라서 SplDoublyLinkedList::rewind를 사용하는 것이 좋습니다.

    2025-04-09 01:18

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 11,237건 / 67 페이지

검색

게시물 검색