С точки зрения пространственно-временной сложности, какой из следующих способов является лучшим способом перебора std :: vector и почему?
Способ 1:
for(std::vector<T>::iterator it = v.begin(); it != v.end(); ++it) {
/* std::cout << *it; ... */
}
Способ 2:
for(std::vector<int>::size_type i = 0; i != v.size(); i++) {
/* std::cout << v[i]; ... */
}
Способ 3:
for(size_t i = 0; i != v.size(); i++) {
/* std::cout << v[i]; ... */
}
Способ 4:
for(auto const& value: a) {
/* std::cout << value; ... */