This only works because/if the data structure we’re iterating over have begin()
and end()
functions implemented !!
std::array<int, 10> container;
// usando um inteiro i para iterar sobre um container
for (int i = 0; i < container.size(); i++)
...
// usando um iterador i para iterar sobre um container
for (auto i = b.begin(); i != b.end(); i++)
...
// syntatic sugar (ranged for loops)
for (auto& i : container)
...
A biblioteca STL = Standard Template Library é uma biblioteca padrão que contém a implementação de containers, iteradores e algoritmos para atravessar esses containers e manipulá-los.
introdução boa a containers, dá detalhe sobre implementação de vector (o lance de recopiar etc, n sei o quanto isso ta dentro do escopo do projeto)
https://www.youtube.com/watch?v=6OoSgY6NVVk
Os três componentes fundamentais da biblioteca STL (de acordo com bob steagall) são:
(então assim, estudar containers talvez seja o mesmo que estudar a STL)
https://www.youtube.com/watch?v=tXUXl_RzkAk
Apresentação incrível sobre a STL. Highlights: