Syntactic sugar for for loops with iterators

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.

Intro to containers

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

Big pic STL

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: