在 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
中的所有元素,并將它們打印出來。注意,反向迭代器的解引用操作符是 *
,而不是 ->
。