如何抛弃波动性?

pin*_*ntu 35 c++ casting volatile

如何抛弃波动性?我应该使用哪种c ++样式演员?

Naw*_*waz 49

使用const_cast.

例如,

volatile sample *pvs = new sample();
sample *ps = const_cast<sample*>(pvs); //casting away the volatile-ness
Run Code Online (Sandbox Code Playgroud)

也就是说,const_cast用于抛弃常量和易失性.不幸的是,它的名字不包含"volatile"这个词.也许,这是因为关键字const在使用中比关键字更常见volatile.正如其中一条评论所说,cv_cast本来应该是更合适的名字!

  • 他们应该称之为cv_cast或者其他东西. (11认同)
  • @Jason:看起来不错.毕竟,C++ Standard经常使用`cv`来表示const-volatile! (2认同)