11

私は通常const 、const メンバー関数を示すために使用される指定子を目にします。volatileしかし、キーワードが使用されるとき、それはどういう意味ですか?

void f() volatile {}

これは私にとっては問題なくコンパイルされますが、これが何のためにあるのかわかりません。検索でこれに関する情報が見つからなかったので、助けていただければ幸いです。

更新:明確にするために、私は何volatileのためにあるのか知っています。この文脈でそれが何を意味するのかわかりません。

4

3 に答える 3

14

メンバー関数のvolatile修飾子は、修飾子に似ていconstます。volatileオブジェクトでメンバー関数を呼び出すことができます。

struct A {
    void f() volatile {}
    void g() {}
};

int main() {
    A volatile a;
    a.f(); // Allowed
    a.g(); // Doesn't compile
}
于 2013-05-25T03:28:50.407 に答える