溫馨提示×

C++ vector的迭代器如何使用

c++
小樊
155
2024-10-16 12:34:10
欄目: 編程語言

在 C++ 中,vector 是一種動態數組,它提供了許多方便的成員函數和操作符,包括迭代器(iterator)的使用。使用 vector 的迭代器可以方便地遍歷 vector 中的所有元素。

下面是使用 vector 迭代器的示例代碼:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 使用begin()和end()函數獲取迭代器的起始和終止位置
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
        std::cout << *it << " ";
    }

    return 0;
}

在上面的代碼中,我們首先包含了 <iostream><vector> 頭文件,然后定義了一個 vector<int> 對象 vec,并初始化了其中的元素。接下來,我們使用 begin()end() 函數獲取了迭代器的起始和終止位置,并使用一個 for 循環遍歷了 vec 中的所有元素,并將它們打印出來。

for 循環中,我們使用了迭代器 it 來訪問 vec 中的每個元素。迭代器的類型是 std::vector<int>::iterator,它是一個指針類型,指向 vector 中的元素。我們可以通過解引用迭代器 *it 來訪問 vector 中的當前元素。

除了使用 begin()end() 函數獲取迭代器的起始和終止位置外,還可以使用 rbegin()rend() 函數獲取反向迭代器的起始和終止位置。反向迭代器可以用于反向遍歷 vector 中的元素。

下面是一個使用反向迭代器的示例代碼:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 使用rbegin()和rend()函數獲取反向迭代器的起始和終止位置
    for (std::vector<int>::reverse_iterator rit = vec.rbegin(); rit != vec.rend(); ++rit) {
        std::cout << *rit << " ";
    }

    return 0;
}

在上面的代碼中,我們使用了 rbegin()rend() 函數獲取了反向迭代器的起始和終止位置,并使用一個 for 循環反向遍歷了 vec 中的所有元素,并將它們打印出來。注意,反向迭代器的解引用操作符是 *,而不是 ->。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女