
Iterator::next 함수는 Iterator의 현재 위치를 다음 위치로 이동시켜 주는 함수입니다. Iterator::next 함수를 호출하면, Iterator의 현재 위치는 다음 요소를 가리키게 됩니다.
예를 들어, std::vector v = {1, 2, 3, 4, 5}; 이라는 벡터가 있고, Iterator it = v.begin(); 이라는 Iterator가 있다고 가정해 보겠습니다. 이때 Iterator::next 함수를 호출하면, Iterator의 현재 위치는 2를 가리키게 될 것입니다.
Iterator::next 함수를 호출할 때, Iterator가 벡터의 끝에 도달한 경우, Iterator::next 함수는 std::out_of_range 예외를 발생시킵니다. 예를 들어, Iterator it = v.end(); 이라는 Iterator가 있다고 가정해 보겠습니다. 이때 Iterator::next 함수를 호출하면, std::out_of_range 예외가 발생합니다.
Iterator::next 함수의 동작을 이해하기 위해, 예시 코드를 작성해 보겠습니다.
#hostingforum.kr
cpp
#include
#include
#include
int main() {
std::vector v = {1, 2, 3, 4, 5};
// Iterator it = v.begin(); 이라는 Iterator가 있다고 가정해 보겠습니다.
std::vector::iterator it = v.begin();
// Iterator::next 함수를 호출합니다.
std::cout << *it << std::endl; // 1
++it; // Iterator::next 함수를 호출한 것과 동일합니다.
std::cout << *it << std::endl; // 2
// Iterator가 벡터의 끝에 도달한 경우, Iterator::next 함수를 호출합니다.
std::vector::iterator it2 = v.end();
try {
++it2; // Iterator::next 함수를 호출합니다.
} catch (const std::out_of_range& e) {
std::cout << "std::out_of_range 예외가 발생했습니다." << std::endl;
}
return 0;
}
위 코드를 실행하면, Iterator::next 함수의 동작을 이해할 수 있습니다. Iterator::next 함수를 호출하면, Iterator의 현재 위치는 다음 요소를 가리키게 됩니다. Iterator가 벡터의 끝에 도달한 경우, Iterator::next 함수는 std::out_of_range 예외를 발생시킵니다.
2025-07-18 18:36