Как отбросить летучесть? - PullRequest
32 голосов
/ 09 марта 2011

Как отбросить летучесть? Какой кастинг в стиле c ++ я должен использовать?

1 Ответ

45 голосов
/ 09 марта 2011

Используйте const_cast.

Например,

volatile sample *pvs = new sample();
sample *ps = const_cast<sample*>(pvs); //casting away the volatile-ness

То есть const_cast используется для отбрасывания как константы, так и изменчивости.К сожалению, его название не содержит термин «изменчивый».Возможно, это связано с тем, что ключевое слово const используется чаще, чем ключевое слово volatile.Как говорится в одном из комментариев, cv_cast было бы более подходящим именем!

...