U++ iterators are allowed to be assigned NULL, so it makes more sense to return NULL in 'fail' case by U++ algos.
It is written somewhere in doc, but perhaps should have been emphasized more...
So:
if(it)
{
//CAppli apptmp = *it; //<---- IT'S BUG !!!!!!!!
//apptmp.update();
//Cout() << "\n <- Why I fall here even if " << apptmp.m_appli << " is different of " << oAppli.m_appli;
Cout() << "\n <- Why I fall here?";
}
Notes:
U++ prefers index notation, so FindIndex(...) < 0 would be more 'U++ way'.
And based on the name of class, U++ now has pretty good JSON support: