如何消除变量的易失性?我应该使用哪种C++风格的转换?
使用 const_cast
。
例如:
volatile sample *pvs = new sample();
sample *ps = const_cast<sample*>(pvs); //casting away the volatile-ness
也就是说,const_cast被用于去除常量和易变性。不幸的是,它的名称中没有包含“易变”的术语。也许这是因为关键字“const”比关键字“volatile”更常用。正如评论中所说的那样,cv_cast可能是更合适的名称!
T * x = (T*)(obj);
语法,这适用于所有类型的转换。 - Nawazdynamic_cast
一样完成某些操作,因此C++才添加了这个功能! - Nawaz