在C++中,std::prev
是一個函數模板,用于獲取給定迭代器的前一個迭代器。這對于逆向遍歷容器(如std::vector
、std::list
等)非常有用。
以下是一個示例,展示了如何在C++中使用std::prev
遍歷容器:
#include<iostream>
#include<vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用std::prev從最后一個元素開始逆向遍歷容器
for (auto it = std::prev(vec.end()); it != std::prev(vec.begin()); --it) {
std::cout << *it << " ";
}
return 0;
}
在這個示例中,我們創建了一個包含5個整數的std::vector
。然后,我們使用std::prev
從最后一個元素開始逆向遍歷容器。注意,我們需要在循環條件中使用std::prev(vec.begin())
,因為std::prev
返回的是指向容器第一個元素之前的迭代器,而不是指向第一個元素的迭代器。
運行此程序將輸出:
5 4 3 2 1
這表明我們已成功地使用std::prev
逆向遍歷了容器。