• [^] # Re: Boost ? c'est quoi ?

    Posté par . En réponse à la dépêche Sortie de Boost 1.46. Évalué à 5.

    L'exception pourra se produire à la copie du paramètre retourné par split vu qu'il y a allocation mémoire et appel a un constructeur. La copie de QStringList n'aura pas ici d'influence si tu fais un catch car split ne modifie pas à priori l'état de l'objet qui l'appelle... mais pour d'autres méthodes dans Qt c'est le cas.
    Exemple avec QQueue :

    Si une exception est générée à l'appel de dequeue (au moment de la copie):

    QQueue<QString> queue;
    queue.enqueue("test");
    QString test_string = queue.dequeue();

    Et bien tu te retrouve dans un état irrecupérable car tu a perdu ta chaine de caractère. C'est un peu partout pareil dans Qt et j'ai pas le temps de débusquer toutes les erreurs de design.
    Donc je ne l'utilise que pour l'interface graphique, pour le reste boost et la stl le font mieux.