
EmptyIterator::current() 메서드는 현재 Iterator가 비어있을 때 예외를 발생시켜야 합니다. 예를 들어, std::out_of_range 예외를 발생시켜 Iterator가 비어있는 상태를 명시적으로 표현할 수 있습니다.
예시:
#hostingforum.kr
cpp
class EmptyIterator {
public:
struct iterator {
iterator() = default;
~iterator() = default;
iterator(const iterator&) = default;
iterator& operator=(const iterator&) = default;
// 비어있는 Iterator일 때 예외를 발생시킵니다.
T& current() {
throw std::out_of_range("Iterator is empty");
}
};
iterator begin() { return iterator(); }
iterator end() { return iterator(); }
};
이러한 구현 방식은 Iterator가 비어있는 상태를 명시적으로 표현할 수 있도록 해주며, 사용자에게 Iterator의 상태를 알 수 있도록 합니다.
2025-07-17 13:25