std::advance in C++ Last Updated : 26 Apr, 2022 Suggest changes Share Like Article Like Report std::advance advances the iterator 'it' by n element positions. Syntax : template void advance (InputIterator& it, Distance n); it : Iterator to be advanced n : Number of element positions to advance. This shall only be negative for random-access and bidirectional iterators. Return type : None. Motivation problem : A vector container is given. Task is to print alternate elements. Examples : Input : 10 40 20 50 80 70 Output : 10 20 80 CPP // C++ program to illustrate // using std::advance #include <bits/stdc++.h> // Driver code int main() { // Vector container std::vector<int> vec; // Initialising vector for (int i = 0; i < 10; i++) vec.push_back(i * 10); // Printing the vector elements for (int i = 0; i < 10; i++) { std::cout << vec[i] << " "; } std::cout << std::endl; // Declaring the vector iterator std::vector<int>::iterator it = vec.begin(); // Printing alternate elements while (it < vec.end()) { std::cout << *it << " "; std::advance(it, 2); } } Output: 0 10 20 30 40 50 60 70 80 90 0 20 40 60 80 C++ #include <iostream> #include<bits/stdc++.h> using namespace std; int main() { vector<int >vect(10); //insert the ten element in the vector for(int i=1;i<=10;i++) { vect[i-1]=i; } //iterator pointing to first element. vector<int >::iterator it=vect.begin(); for(int i=1;i<=10;i++) { cout<<*it<<" "; it++; } vector<int >::iterator it1=vect.begin(); //here it is pointing to the 3rd element. advance(it1,2);//here second argument is the index base. cout<<endl; cout<<*it1; //print it1 pointing to the 3rd position. return 0; } /* This code is contributed by Sameer Hake/* Output1 2 3 4 5 6 7 8 9 10 3 M msdeep14 Article Tags : Misc C++ cpp-iterator STL Explore C++ BasicsIntroduction to C++3 min readData Types in C++6 min readVariables in C++4 min readOperators in C++9 min readBasic Input / Output in C++3 min readControl flow statements in Programming15+ min readLoops in C++7 min readFunctions in C++8 min readArrays in C++8 min readCore ConceptsPointers and References in C++5 min readnew and delete Operators in C++ For Dynamic Memory5 min readTemplates in C++8 min readStructures, Unions and Enumerations in C++3 min readException Handling in C++12 min readFile Handling in C++8 min readMultithreading in C++8 min readNamespace in C++5 min readOOP in C++Object Oriented Programming in C++8 min readInheritance in C++6 min readPolymorphism in C++5 min readEncapsulation in C++3 min readAbstraction in C++4 min readStandard Template Library(STL)Standard Template Library (STL) in C++3 min readContainers in C++ STL3 min readIterators in C++ STL10 min readC++ STL Algorithm Library3 min readPractice & ProblemsC++ Interview Questions and Answers1 min readC++ Programming Examples4 min read My Profile ${profileImgHtml} My Profile Edit Profile My Courses Join Community Transactions Logout Like