title: Const cast
text: # Const cast
  
  Il const_cast è uno dei quattro cast espliciti (o cast stile C++), assieme al dynamic cast, il reinterpret cast e lo static cast. Il const_cast è usato tipicamente nelle situazioni in cui si desidera eliminare l'attributo const o volatile di un particolare tipo di oggetto ed è il solo cast esplicito in grado di effettuare questo tipo di operazione.
  
  ## Sintassi
  
  Il const_cast è, come gli altri cast espliciti, un operatore di tipo template, l'espressione passata come argomento viene valutata e poi convertita nel tipo specificato fra le parentesi angolari.
  
  ## Esempio di utilizzo
  
  Questo esempio mostra una classe che implementa due versioni dell'operatore per accedere a un particolare carattere di una stringa di testo. La prima implementazione restituisce un riferimento const al carattere contenuto nella posizione specificata come argomento. La seconda versione restituisce nel medesimo modo un riferimento ad un carattere della stringa, sfruttando i cast espliciti const_cast, per modificare il valore di ritorno, e static cast, per forzare l'utilizzo dell'implementazione const dell'operatore sul puntatore this.
  
  