
Iterator::rewind 함수는 Iterator의 포인터를 처음으로 되돌립니다. 이 함수를 사용할 때 Iterator가 이미 끝에 도달한 경우, Iterator의 상태가 끝에 도달한 상태에서 rewind 함수를 호출한 것으로 간주합니다. 따라서 Iterator는 처음으로 되돌아갑니다.
이러한 동작은 C++ 표준에 따라 정의된 것입니다. 따라서 Iterator의 구현에 따라 동작할 수는 있지만, 표준에 따라 Iterator의 상태가 끝에 도달한 경우 rewind 함수를 호출하면 처음으로 되돌아가는 것이 보장됩니다.
예시 코드를 통해 Iterator::rewind 함수의 동작을 확인해 보겠습니다.
#hostingforum.kr
cpp
#include
#include
#include
int main() {
std::vector vec = {1, 2, 3, 4, 5};
std::vector::iterator it = vec.begin();
// Iterator가 처음 원소에 위치하고 있습니다.
std::cout << "Iterator가 처음 원소에 위치하고 있습니다." << std::endl;
// Iterator가 마지막 원소로 이동합니다.
it = vec.end() - 1;
std::cout << "Iterator가 마지막 원소로 이동했습니다." << std::endl;
// Iterator가 이미 끝에 도달한 경우 rewind 함수를 호출합니다.
it = vec.begin();
std::cout << "Iterator가 처음 원소로 돌아갔습니다." << std::endl;
return 0;
}
이 예시 코드에서 Iterator가 이미 끝에 도달한 경우 rewind 함수를 호출하면 Iterator는 처음으로 되돌아갑니다.
2025-08-04 18:51