c++

c++迭代器如何实现自增

小亿
99
2024-03-26 10:26:56
栏目: 编程语言

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

0
看了该问题的人还看了