List et Vector : mise au point
Bonsoir,
Je travaille actuellement sur un petit projet où je fais des requête sql à l'aide de QSql et à l'aide de quelques fonctions je crée une liste de message.
Pour l'instant c'est très lourd, mais je compte bien faire différemment.
J'utilisais les vector mais le fait de parcourir mon vector et de faire des push_back, invalidait l'iterator.
Du coup, je suis passé au liste. Et là plus de problème. Je me demande tout de même si ce n'est pas un peu sale.
Voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
void Feeder::update()
{
std::wstring tempString;
queryExec("SELECT * FROM staff WHERE salary > 1000");
std::list<SimpleMessage*>::iterator it = m_messageList.begin();
while (queryNext())
{
tempString = (getValue(1).toString()).toStdWString () ;
if( it != m_messageList.end() )
{
if(*it)
{
if( (*it)->getContent() == tempString )
{
++it;
}
else
{
m_messageList.push_back( new SimpleMessage( (getValue(1).toString()).toStdWString ()) );
}
}
else
{
cout<<"error NULL pointer on MessageList... "<<endl;
}
}
else
{
m_messageList.push_back( new SimpleMessage( (getValue(1).toString()).toStdWString ()) );
it = m_messageList.begin();
}
}
} |
Merci d'avance !