在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
對象并對其進行自增操作,打印了自增后的值。