
InternalIterator::current와 Iterator::current의 차이점은 다음과 같습니다.
- InternalIterator::current는 내부 반복자에서 현재 값을 얻는 메서드입니다. 내부 반복자는 반복자와 함께 사용되는 반복자입니다. 내부 반복자는 반복자에 의해 생성되며, 반복자와 함께 사용됩니다.
- Iterator::current는 반복자에서 현재 값을 얻는 메서드입니다. 반복자는 데이터를 순회할 때 사용되는 객체입니다.
내부 반복자에서 현재 값을 얻을 때 올바른 방법은 InternalIterator::current를 사용하는 것입니다. 내부 반복자는 반복자와 함께 사용되며, 반복자에 의해 생성됩니다. 따라서 내부 반복자에서 현재 값을 얻을 때는 InternalIterator::current를 사용해야 합니다.
예를 들어, 내부 반복자와 반복자를 사용하는 코드는 다음과 같습니다.
#hostingforum.kr
cpp
#include
#include
class Iterator {
public:
virtual ~Iterator() {}
virtual void next() = 0;
virtual void prev() = 0;
virtual void reset() = 0;
virtual int getCurrent() = 0;
};
class InternalIterator : public Iterator {
private:
std::vector data;
int index;
public:
InternalIterator(const std::vector& data) : data(data), index(0) {}
void next() override {
if (index < data.size() - 1) {
index++;
}
}
void prev() override {
if (index > 0) {
index--;
}
}
void reset() override {
index = 0;
}
int getCurrent() override {
return data[index];
}
};
int main() {
std::vector data = {1, 2, 3, 4, 5};
InternalIterator iterator(data);
while (true) {
int currentValue = iterator.getCurrent();
std::cout << currentValue << std::endl;
iterator.next();
if (iterator.getCurrent() == 5) {
break;
}
}
return 0;
}
이 코드에서는 내부 반복자와 반복자를 사용하여 데이터를 순회합니다. 내부 반복자에서 현재 값을 얻을 때는 InternalIterator::current를 사용합니다.
2025-03-03 03:15