Reputation: 725
How to cast away the volatile-ness? Which c++ style cast should I use?
Upvotes: 50
Views: 17253
Reputation: 361472
Use const_cast
.
For example,
volatile sample *pvs = new sample();
sample *ps = const_cast<sample*>(pvs); //casting away the volatile-ness
That is, const_cast
is used to cast away both const-ness as well as volatile-ness. Unfortunately, its name doesn't contain the term "volatile". Maybe, that is because the keyword const
is more common in use than the keyword volatile
. As one of the comment says, cv_cast
would have been more appropriate name!
Upvotes: 66