Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

vector a listy, iteratory

Ostatnio zmodyfikowano 2014-05-28 17:06
Autor Wiadomość
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?

C/C++
int i = util::rand( 1, 100 ); /// rand other clients...
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;
    }
}
P-111018
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.
P-111019
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 )
P-111020
« 1 »
  Strona 1 z 1