簡體   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