在C++中,迭代器可以通过重载操作符实现自增操作。通常,迭代器使用operator++()
操作符实现自增,也可以使用operator++(int)
实现后置自增操作。
以下是一个示例,展示了如何实现一个简单的迭代器类,并在其中重载operator++()
实现自增操作:
#include <iostream>
class Iterator {
public:
Iterator(int* ptr) : m_ptr(ptr) {}
int& operator*() {
return *m_ptr;
}
Iterator& operator++() {
++m_ptr;
return *this;
}
private:
int* m_ptr;
};
int main() {
int arr[] = {1, 2, 3, 4, 5};
Iterator it(arr);
std::cout << "Initial value: " << *it << std::endl;
++it;
std::cout << "After increment: " << *it << std::endl;
return 0;
}
在上面的示例中,Iterator
类表示一个简单的迭代器,它包含一个指向整数的指针。operator++()
方法将指针自增,并返回迭代器自身的引用。在main()
函数中,我们创建了一个Iterator
对象并对其进行自增操作,打印了自增后的值。