Компилятор range-based for как правило разворачивает в что-то типа
```
for (auto i = begin (vec), e = end (vec); i != e; ++i)
{
    const auto& item = *;
    // работа с item
}
```