变量的const和volatile的顺序

时间:2014-06-20 10:23:35

标签: c++ c const volatile qualifiers

以下代码使用gcc version 4.7.2 (Debian 4.7.2-5)编译并运行:

#include <stdio.h>

int main()
{
    const volatile x = 3;
    volatile const y = 4;

    return 0;
}

我应该假设const和volatile的顺序无关紧要吗?我试着在这里阅读:encpp ref并且它没有说明订单(或者我错过了它?)

1 个答案:

答案 0 :(得分:4)

是的,订单无关紧要。在C ++中,相关规范在7.1p1, decl-specifier decl-specifier-seq 中,基本上解释了有一系列相关的关键字和7.1。 6,将constvolatile列为两个关键字。请注意,制作很奇怪,这些也是有效的,但为了便于阅读,我强烈建议不要这样做:

const int volatile a = 1;
volatile int const b = 2;
const int volatile typedef vcint; // defines vcint to be an alias for const volatile int
相关问题