C++ 参考和枚举?

C++ reference and enum?

我看到下面的代码,输出是“2”,我不熟悉枚举和引用,谁能帮我理解为什么输出是“2”,谢谢!

#include<iostream.h> 
enum bix
{
    a=1, b, c
};
int main()
{
    int x = c;
    int &y = x;
    int &z = x;
    y = b;
    cout<< z--;
    return 0; 
}

如果您没有为枚举器指定值,则它的值比前一个多一个,如果是第一个则为零。所以枚举数是

a=1, b=2, c=3

引用是变量的别名;对引用做某事与对它引用的变量做事完全一样。 yzx 的别名,因此使用它们的代码等同于仅使用 x:

的相同代码
int x = 3;   // c is 3
x = 2;       // y is x, b is 2
cout << x--; // z is x; print the value (2) then decrement.