Da quello che sto leggendo in rete serve ad esempio se hai una funzione che prende come argomento un const, tipo:
void g(const int& i);
int main() {
int i = 3;
g(i);
cout << i;
}
e con la g vuoi passare la i ad una funzione f:
void g (const int& i) {
f(&i);
}
il compilatore ti da errore perche' si preoccupa che la f possa cambiarti la variabile
void f(int& i) {
i = 4;
}
Se al posto di f(&i) invece usi:
f(const_cast<int&>(i));
si zittisce e te la modifica. Se nel main avevi dichiarato "i" come const comunque, nel campo di visibilita' del main la i rimane a 3.
Pero' mi rimane allora il dubbio: come faccio a svolgere questo esercizio da thinking in c++?
Create a const array of double and a volatile array of double. Index through each array and use const_cast to cast each element to non-const and non-volatile, respectively, and assign a value to each element.