繁体   English   中英

枚举声明中的C ++变量声明

[英]C++ variables declaration within enum declaration

我有以下代码:

#include <iostream>
using namespace std;

enum Week_Day {SAT, SUN, MON, TUE, WED, THU, FRI} wd1 = FRI;

Week_Day wd2 = SAT;

int main()
{
    cout << "\n " << wd1;
    cout << "\n " << wd2;

    cout << "\n\n\n";
}

我搜索了wd1wd2声明方式之间的区别,但是在我看来,这只是为了方便。

是真的,还是我错过了什么?

更新1:

好的, wd1wd2现在都是全局变量。

还有其他区别吗?

是的,在第一个处定义了枚举,并立即使用它来声明wd1,第二个是另一个声明而无需重新定义。 相同的代码在两个不同的地方没有区别。 另一个区别是由于它们在代码中定义的位置,第一个是全局的,而第二个是局部的。 全局意味着变量可以在代码中的任何地方使用,并且每个人都知道。 但是局部变量仅在一个块内具有生命周期

{
SomeClass someVar;// defined here

...

// die here, the destructor will be called automatically by the runtime here
}

建议在这里阅读

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM