# **[](https://en.cppreference.com/w/cpp/header/iterator)** provides iterator utilities: `std::advance`, `std::distance`, `std::next`, `std::prev`, iterator type traits like `std::iterator_traits`, and iterator adapters like `std::back_inserter`, `std::insert_iterator`. Use iterator adapters to turn algorithms into list-building operations: `std::copy(..., std::back_inserter(vec))` appends to a vector. ## Example This example uses `std::back_inserter` to copy elements into a vector, and `std::distance` and `std::next` to navigate iterators. ```cpp // compile: g++ -std=c++11 -o iteratorexample iteratorexample.cpp // run: ./iteratorexample // description: iterator utilities and inserters #include #include #include #include int main() { std::vector src = {1, 2, 3}; std::vector dst; std::copy(src.begin(), src.end(), std::back_inserter(dst)); std::cout << "distance: " << std::distance(dst.begin(), dst.end()) << "\n"; std::cout << "next iter value: " << *std::next(dst.begin()) << "\n"; return 0; } ```