il y a 2 choses a voir ici deja je peut cree plusieurs "shapes"(RectangleShape , CircleShape, ...) , car sf::Shape est abstrait et je peux cree le sous_sf::Shape dans l'appel du constructeur pour plus de context voici ma class entiere
or par le fait que m_shape est une reference il ne peut pas prendre un element constant c'est pourquois je fais
m_shape(const_cast<sf::Shape&>(shape))
mais cela a t'il un sens on voit bien que le mot clef const m'est tres utile dans cette situation cependant je trouve sa tres etrange de le rendre const puis de l'enlever esque cela pose un probleme, faut il eviter cette pratique et pourquoi si vous pouviez m'eclairer car j'ai envie d'en abuser
Globalement, si tu utilises const_cast, c'est qu'il y a une merde dans ton code. const_cast est très piégeur et utilisable que dans des cas très spécifiques.
Ton shape n'est pas constant puisque tu le modifie via un setter. Donc supprime juste les const.
Globalement, si tu utilises const_cast, c'est qu'il y a une merde dans ton code. const_cast est très piégeur et utilisable que dans des cas très spécifiques.
Ton shape n'est pas constant puisque tu le modifie via un setter. Donc supprime juste les const.
en temp normal c'ets ce que je ferais de retirer le const sauf qu'ici il me permet de cree le sf::shape en question dans le constructeur et je souhaite garder cette possibilité , je pourrais juste retirer le setteur (dasn mon cas il n'est pas utile )et donc ne pas utiliser const_cast cependant imagineons que mon setteur soit utile et que je souhaite garder la fonctionnalité d'innitialiser le sf::Shape& dans le constructeur estce que faire ca c'est mauvais ,je supose que dans mon cas il doit y avoir une solution avec les smart pointeur mais c'est toujours bien de connaitre cette facon de faire (si elle est fiable)
de plus peut tu s'il te plait m'expliquer dans quel cas tres specifique tu considere le const_cast comme utilisable merci .
ici il me permet de cree le sf::shape en question dans le constructeur et je souhaite garder cette possibilité
Pas sur de comprendre ce que tu veux dire par là, mais ça me semble encore plus louche. Et pas possible, a priori.
MathéoBrument a écrit:
de plus peut tu s'il te plait m'expliquer dans quel cas tres specifique tu considere le const_cast comme utilisable
Quand celui qui veut faire ça m'apporte des arguments assez fort pour le justifier. Ce que je n'ai jamais encore rencontré, en dehors d'un problème de design (en général, faire de la glue avec une API existante, qui impose de faire ce type de cast)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.
Discord NaN. Mon site.