fre*_*ass 15 c++ enums typedef declaration
在C++中声明枚举的标准方法似乎是:
enum <identifier> { <list_of_elements> };
Run Code Online (Sandbox Code Playgroud)
但是,我已经看到了一些声明,例如:
typedef enum { <list_of_elements> } <identifier>;
Run Code Online (Sandbox Code Playgroud)
如果存在,它们之间有什么区别?哪一个是正确的?
Chr*_*utz 19
C兼容性.
在C中union,struct和enum类型必须与之前的相应关键字一起使用:
enum x { ... };
enum x var;
Run Code Online (Sandbox Code Playgroud)
在C++中,这不是必需的:
enum x { ... };
x var;
Run Code Online (Sandbox Code Playgroud)
所以在C语言中,懒惰的程序员经常使用typedef以避免重复:
typedef enum x { ... } x;
x var;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2205 次 |
| 最近记录: |