亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何實現C++中的自定義迭代器

c++
小億
98
2024-04-22 14:28:50
欄目: 編程語言

要實現C++中的自定義迭代器,你需要定義一個類來代表這個迭代器,并在這個類中重載一系列操作符來實現迭代器的功能。以下是一個簡單的示例:

#include <iostream>

template <typename T>
class CustomIterator {
private:
    T* ptr;
public:
    CustomIterator(T* p) : ptr(p) {}

    T& operator*() {
        return *ptr;
    }

    CustomIterator& operator++() {
        ++ptr;
        return *this;
    }

    CustomIterator operator++(int) {
        CustomIterator tmp = *this;
        ++ptr;
        return tmp;
    }

    bool operator==(const CustomIterator& other) const {
        return ptr == other.ptr;
    }

    bool operator!=(const CustomIterator& other) const {
        return ptr != other.ptr;
    }
};

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    CustomIterator<int> begin(arr);
    CustomIterator<int> end(arr + 5);

    for (CustomIterator<int> it = begin; it != end; it++) {
        std::cout << *it << " ";
    }

    return 0;
}

在上面的示例中,我們定義了一個名為 CustomIterator 的類,它接受一個指向模板類型 T 的指針作為構造函數的參數。我們重載了 * 操作符來返回迭代器指向的元素,重載了 ++ 操作符來實現迭代器的移動,重載了 ==!= 操作符來實現迭代器的比較。

main 函數中,我們創建了一個 CustomIterator 類型的迭代器,并使用它來遍歷一個整型數組。實現自定義迭代器可以讓你更靈活地操作容器或數據結構,以適應不同的需求和場景。

0
乃东县| 建瓯市| 七台河市| 大城县| 东海县| 巫溪县| 康马县| 北安市| 阜新| 含山县| 晋州市| 布拖县| 五莲县| 中卫市| 勃利县| 宜春市| 恩施市| 黔西县| 青神县| 大兴区| 建湖县| 牡丹江市| 绍兴市| 闸北区| 抚松县| 永康市| 保定市| 论坛| 隆子县| 新津县| 漳浦县| 昭苏县| 昭觉县| 肇源县| 屏东市| 乐陵市| 中西区| 怀宁县| 丹凤县| 漠河县| 石首市|