Const cast
# 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.

