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

标签 c++ variables types enums 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 第二个是另一个声明,无需再次重新定义。 两个不同的地方没有区别相同的代码。 另一个区别是因为他们定义的代码中的位置,第一个是全局的,第二个是本地的。 全局意味着该变量可以在您的代码中随处使用并且每个人都知道。但是局部变量只在 block 内有生命周期

{
SomeClass someVar;// defined here

...

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

建议阅读here

关于枚举声明中的 C++ 变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128556/

相关文章:

c++ - 关于c++中的结构初始化

Windows 控制台中的 C++ 键输入

string - 读取文件,并将每一行提取为它自己的变量 [Bash]

haskell - 如何理解Haskell的ST monad中的状态类型

c# - 从静态方法获取派生类型

c++ - 如何优化长系列的 If/then 条件表达式 - SIMD

c++ - openmp随机只使用一个核心

swift - 如何在 UIColor 中使用变量?

java - Java中如何避免重复?

haskell - 为什么 `fmap` 需要在 `succ` 上调用 `Maybe Integer` ?