As a common rule, it is very often considered a bad practice to use const_cast<>() in C++ code as it reveals (most of the time) a flaw in the design.
const_cast<>()
const_cast is also used to remove volatile modifiers, as put into practice in this (controversed) article:
const_cast
volatile
http://www.drdobbs.com/184403766