我有以下代码:
#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";
}
我搜索了wd1
和wd2
声明方式之间的差异,但在我看来,这只是为了方便。
是真的,还是我错过了什么?
UPDATE1:
好的,wd1
和wd2
现在都是全局变量。
还有其他差异吗?
答案 0 :(得分:1)
是的,在第一个它定义枚举并立即用它来声明wd1 第二个是另一个声明,无需再次重新定义。 两个不同的地方没有相同的代码。 另一个区别是因为他们定义的代码位置,第一个是全局的,第二个是本地的。 全局意味着变量可以在代码中的任何地方使用,并且每个人都知道它。但局部变量只有一个块内的生命周期
{
SomeClass someVar;// defined here
...
// die here, the destructor will be called automatically by the runtime here
}
建议阅读here