
FilterIterator::current 메서드는 FilterIterator 클래스의 멤버 함수로, 현재 반복자에 의해 참조되는 요소의 값을 반환합니다.
이 메서드는 Iterator concept의 요구조건 중 하나인 'current' 요구조건을 충족시키기 위해 정의되었습니다.
Iterator concept는 반복자의 기본 동작을 정의하는 개념으로, 반복자가 현재 요소에 접근할 수 있는지 여부를 확인하는 'current' 요구조건이 있습니다.
FilterIterator::current 메서드는 이 요구조건을 충족시키기 위해, 현재 반복자에 의해 참조되는 요소의 값을 반환합니다.
예를 들어, 다음과 같은 FilterIterator 클래스가 있다고 가정해 봅시다.
#hostingforum.kr
cpp
class FilterIterator : public std::iterator {
public:
FilterIterator(std::vector::iterator it, std::vector::iterator end, int value)
: it_(it), end_(end), value_(value) {}
bool operator!=(const FilterIterator& other) const { return it_ != other.it_; }
FilterIterator& operator++() {
while (it_ != end_ && *it_ != value_) {
++it_;
}
return *this;
}
int operator*() const { return *it_; }
int current() const { return *it_; }
private:
std::vector::iterator it_;
std::vector::iterator end_;
int value_;
};
이 FilterIterator 클래스는 FilterIterator::current 메서드를 정의했습니다.
이 메서드는 현재 반복자에 의해 참조되는 요소의 값을 반환합니다.
#hostingforum.kr
cpp
int main() {
std::vector vec = {1, 2, 3, 4, 5};
FilterIterator it(vec.begin(), vec.end(), 3);
std::cout << it.current() << std::endl; // 3
++it;
std::cout << it.current() << std::endl; // 4
return 0;
}
이 예제에서는 FilterIterator::current 메서드를 사용하여 현재 반복자에 의해 참조되는 요소의 값을 반환합니다.
이 메서드는 Iterator concept의 요구조건 중 하나인 'current' 요구조건을 충족시키기 위해 정의되었습니다.
2025-06-07 20:21