c++ - How to iterate over a vector? -


i need iterate on vector strictly in order elements pushed it. particular case it's better use iterators iterating though for-each loop follows:

std::vector<int> vector; for(int = 0; < vector.size(); i++)    //not good, works 

my question if it's realiably iterate on vector through iterator that:

std::vector<int> v; for(typename std::vector<int>::iterator = v.iterator(); != v.end(); i++)    //good, i'm not strictly sure iterating order. 

so, can use iterators safely requirements? standartized?

if have access c++11 can use range-based loops

for (auto : v) 

otherwise should use begin() , end()

for (std::vector<int>::iterator = v.begin(); != v.end(); ++i) 

you can use std::begin , std::end (these require c++11 well)

for (std::vector<int>::iterator = std::begin(v); != std::end(v); ++i) 

begin return iterator the first element in vector. end return iterator one element past end of vector. order in elements iterating way both safe , defined.


Comments