为什么volatile对象不能调用非易失性成员函数

Che*_*han 6 c++ volatile member-functions language-lawyer

为什么volatile对象不能调用非volatile成员函数?

在这种情况下const,调用非const成员函数违反了对象的常量是有道理的,因此它是被禁止的.但是,为什么在的情况下volatile

jpa*_*cek 5

在使用const的情况下,调用非const成员函数违反了对象的constness,因此被禁止是有意义的。但是,为什么要挥发?

挥发物是一样的。易挥发意味着对对象的每次访问都是可见的副作用,无法消除。如果在易失性对象上调用了非易失性方法,则会违反此属性(因为非易失性方法会将对象视为普通对象)。因此,这是不可能的。