C++
Iterator
Iterator types and usage.
By EZ4Code Team
iteratoriterator
Code
#include <iostream>
#include <vector>
#include <list>
#include <map>
#include <iterator>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
// Forward iterator
for (auto it = v.begin(); it != v.end(); ++it)
std::cout << *it << " ";
std::cout << "\n";
// Reverse iterator
for (auto it = v.rbegin(); it != v.rend(); ++it)
std::cout << *it << " ";
std::cout << "\n";
// Insert iterator
std::vector<int> dest;
std::copy(v.begin(), v.end(), std::back_inserter(dest));
// Stream iterator
std::vector<int> nums;
std::copy(std::istream_iterator<int>(std::cin),
std::istream_iterator<int>(),
std::back_inserter(nums));
// Move iterator
std::vector<std::string> src = {"a", "b", "c"};
std::vector<std::string> dst(
std::make_move_iterator(src.begin()),
std::make_move_iterator(src.end()));
// Iterator categories
// Random access: vector, deque, array
// Bidirectional: list, set, map
// Forward: forward_list, unordered_set
return 0;
}Explanation
Iterators unify container traversal, including forward, reverse, insert, stream, and move iterators.