Est const_cast sûr?

Je ne trouve pas beaucoup d'informations sur const_cast. La seule info que j'ai pu trouver (sur Stack Overflow) est:

La const_cast<>() est utilisé pour ajouter, supprimer const(ness) (ou volatile-ness) d'une variable.

Ce qui me rend nerveux. Pourrait à l'aide d'un const_cast provoquer un comportement inattendu? Si oui, quoi?

Sinon, quand est-il acceptable d'utiliser const_cast?

  • La réponse sommet surplombe quelque chose qui pourrait être terriblement évident, mais il est utile de préciser: Il ne devient dangereux si vous tentez de modifier une origine const objet par l'intermédiaire d'un de-const-ed de référence/pointeur. Si, au lieu de cela, vous êtes simplement const_casting de travailler autour d'un mal (ou, dans mon cas, paresseusement) spec'd API que seule la proposition a été accepté un non-const de référence, mais ne seront utilisées que dans const méthodes... pas de problème que ce soit.
  • De manière plus précise la version de la question (et la réponse) qui couvre ce qui est: Est-il permis d'éloigner le const sur un const objet défini, tant qu'il n'est pas réellement modifié?
InformationsquelleAutor Mag Roader | 2008-12-10