vector a listy, iteratory
Ostatnio zmodyfikowano 2014-05-28 17:06
Psiryj Temat założony przez niniejszego użytkownika |
vector a listy, iteratory » 2014-05-28 16:55:31 mam sobie taki kodzik, gdy uzywam list wszystko smiga okej, ale gdy liste zamienie na vector program wysypuje sie przy ifie, od czego jest ta zaleznosc? int i = util::rand( 1, 100 ); for( std::list < Client *>::iterator it = clients.begin(); it != clients.end(); ++it ) { Client & tempclient = ** it; if( tempclient.ClientID != i ) { clients.push_back( client ); Selector.add( client->Socket ); client->ClientID = i; } } |
|
Monika90 |
» 2014-05-28 16:58:43 Operacja push_back wykonana na wektorze unieważnia iteratory, chyba że zarezerwowałeś dość miejsca na nowe elementy, wtedy tylko iterator end() będzie unieważniony. push_back na liście nigdy nie unieważnia iteratorów. |
|
Psiryj Temat założony przez niniejszego użytkownika |
» 2014-05-28 17:06:35 w tej linijce jest blad, skoro push_back uniewaznia iteratory to tak czy inaczej przy listach tez powinien sie wysypac program a dziala tak jak powinien if( tempclient.ClientID != i ) |
|
« 1 » |