PDA

View Full Version : [C++] Iteratori e hasNext()


wisher
01-12-2007, 12:37
Nel C++ esiste come in Java il metodo hasNext()?
In alternativa per verificare se l'elemento è ultimo oppure no devo utilizzare il metodo end() come in questo caso?
vector<int> v;
// fill up v with data...
for (vector<int>::iterator it = v.begin();
it != v.end(); ++it) {
cout << *it << endl;
}

kk3z
01-12-2007, 16:00
In alternativa per verificare se l'elemento è ultimo oppure no devo utilizzare il metodo end() come in questo caso?
Sì, è corretto

wisher
01-12-2007, 16:25
Sì, è corretto
Grazie, come soluzione mi sembra molto più sporca rispetto all'implementazione di Java.
Magari è solo una questione di abitudine ma secondo me non c'è paragone, Java è molto meglio sotto diversi aspetti.

cionci
01-12-2007, 16:58
Grazie, come soluzione mi sembra molto più sporca rispetto all'implementazione di Java.
Magari è solo una questione di abitudine ma secondo me non c'è paragone, Java è molto meglio sotto diversi aspetti.
Puoi benissimo implementare un tuo iteratore con quel metodo ;)
Sicuramente è un po' sporca, anche perché ti costringe a mantenere un riferimento alla collection. Ma ci sta anche che sia stato fatto volontariamente proprio per farti mantenere un riferimento alla collection...se perdi il riferimento alla collection non oso immaginare il casino che si farebbe. In Java ci pensa il gc, ma in C++ no ;)