• [^] # Re: Très rapide review

    Posté par . En réponse au journal Petit Framework de jeu 2d en C++. Évalué à 2.

    Tout dépend si CastellumLayer deviens propriétaire de l'objet ou non (autrement dit, si il deviens responsable de la destruction du CastellumBox)`.

    Si avant l'appel, le CastellumBox appartient à l'appelant et qu'après l'appel il n'appartient plus à l'appelant, alors il faut utiliser ni pointeurs nus ni références, mais des pointeurs intelligents comme std::unique_ptr (ou std::auto_ptr en C++03). Parce que tel que le code est écrit, si push_back balance une exception (genre std::bad_alloc), alors tu peut potentiellement laisser fuiter un castellumBox.

    Si CastellumLayer ne deviens jamais propriétaire de l'objet, et que la durée de vie de CastellumBox est correctement gérée (aucun pointeur traîne vers l'objet lors de sa destruction, y compris dans un CastellumLayer::_bricks), alors je dirait qu'il faudrai mieux prendre un pointeur nu, mais ça peut se discuter.

    Si CastellumLayer à toujours été propriétaire de l'objet, et que l'appelant à récupéré le CastellumBox depuis CastellumLayer, alors y a peut-être des choses à améliorer dans l'API.