[C++ / STL] Iteratory i petla for

0

Mam pytanie: w wielu ksiazkach datyczacych STL podane sa kody zrodlowe typu:


```cpp
vector<int> v;
//  tutaj iles_tam push_back()
vector<int>::iterator i=v.begin();
for(i;i<v.end();++i) {
//jakies instrukcje
}

Chodzi mi o sprawdzanie warunku w petli for - nie jest to chyba najlepszy / najszybszy sposob skoro do kazdego porownania tworzony jest obiekt chwilowy poprzez funkcje end()? Czy nie lepszym rozwiazaniem jest utworzenie iteratora koncowego przed petla?
0

Nie jestem expertem, ale nigdy mi na myśl nie przyszło, że w takim wypadku obiekt chwilowy będzie tworzony wielokrotnie. Podejrzewam raczej, że obiekt jest tworzony tylko raz, informacja o wartości obiektu jest odkładana na stosie i nie ma się czym przejmować.

Oczywiście mogę się mylić, więc lepiej zaczekać co inni napiszą :)

PS. A w książkach często nie zwracają uwagi na szybkość / optymalizację, tylko starają się nauczyć samych podstaw...

0

Obiekt jest na pewno tworzony za kazdym sprawdzeniem warunku, sprawdzalem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1