• [^] # Re: gcc lave plus blanc ?

    Posté par . En réponse à la dépêche Sortie de GCC 4.3. Évalué à 2.

    Quel est l'équivalent standard du foreach de Qt ? Le fait est qu'il n'y en a pas, et que si Qt l'a introduit c'est bien parce que ce genre de truc est diablement pratique

    Si je me rapport à http://doc.trolltech.com/4.1/containers.html#the-foreach-key(...) ça a vraiment l'air de vouloir éviter de faire peur aux allergiques des iterateurs (ce que certains commentaires ici même tendraient à justifier). Parceque

    QMap<QString, int> map;
    [...]
    foreach (QString str, map.keys())
    qDebug() << str << ":" << map.value(str);


    S'écrit en C++
    QMap<QString, int> map;
    [...]
    for (QMap<QString, int>::iterator it=map.begin(); it != map.end(); ++it)
    qDebug() << it->first << ":" << it->second;


    Et on a l'avantage d'éviter la copie de QString et l'appel à map.value() qui fait une recherche dans la map (QMap pouvant être remplacé par std::map avec exactement la même utilisation).