c - 是否将类型分配给枚举标准 C?
问题描述
我见过enum
这样的声明:
enum ProgrammingLanguage: unsigned char {
C = 0,
CPlusPlus,
Rust,
Java,
Javascript,
Python
};
这仅为此类型分配一个字节。我的问题是,这是标准 C 还是 GCC 扩展?如果我决定这样做,我是否需要担心可移植性?
解决方案
这个标准是C吗
不,这不是 C 语言的一部分。
GCC 扩展?
不,这不是 C 语言中的 GCC 扩展。
如果我决定这样做,我是否需要担心可移植性?
您需要担心使用任何 C 编译器编译此类代码。
这完全是 C++ 功能。
然后它是一个 macOS 功能。在 C 文件中的 Xcode 中编译它可以工作
这是一个clang 扩展。
推荐阅读
- javascript - 如何在邮递员中遍历以下 xml 响应以使用循环实现所有大陆?
- mysql - 获取mysql中基于3年的调度数据
- python - 即使使用用户代理,Python 也会请求错误 403
- python - 尽管输入了正确的数字,但获得的参数数量无效
- php - 如何使 Laravel 与多个表建立雄辩的关系?
- vb.net - 如何在 WinForms 应用程序中正确构造类和事件
- wpf - 将情节提要的目标设置为 DataTemplate WPF 中的按钮
- python - 我正在尝试复制 html 网站,但每当我尝试时,它只会给我其中的一部分
- android - 如何通过 curl POST 命令发送 logcat
- python - Python在CSV文件中重命名具有匹配名称的文件夹中的文件