当前位置: 首页 > news >正文

语言的枚举

不同语言的枚举

  • C/C++枚举本质是整型,在Java中是对象,而非基本类型,可通过instanceof Object判断是否是对象类型。C#与Java不同,枚举是值类型。
  • C语言更纯粹,枚举绝对当成整数,可以对枚举变量用整数赋值,甚至可以做自增运算。C++做了一定约束,可以将枚举变量赋值给整数,但不能反过来,另外不允许自增之类的运算。从使用上,C#必须带上枚举类型名,C/C++完全不用顾忌。
  • Java语言的枚举更严格,因为它是对象,绝对不能和整数有任何直接来往。话说面向对象语言应该更早引入枚举,事实上Java 5.0版本才引入枚举类型。
  • 大部分脚本语言都对于枚举没太大兴趣,一方面枚举的静态类型不符合脚本动态类型。当然,万事不必然,Python 3.4之后和Javascript ES6之后也支援枚举。
  • Ada是一门对枚举数值范围支持很好的语言,也许源自它本身是安全设计。
  • C#枚举不能定义在方法里面,可以放在命名空间或者类里面。C/C++允许在函数中定义枚举。

枚举的内部类型

  • C/C++常规枚举默认类型为整型,具体取决于实现。C++11对于作用域内枚举引入了类型控制,默认是int, 可指定枚举使用的类型,比如short或者long. 形如:enum class : short Weekday { Monday, Tuesday };


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!


http://www.mrgr.cn/news/28096.html

相关文章:

  • 【问卷调研】HarmonyOS SDK开发者社区用户需求有奖调研
  • 《硬件架构的艺术》笔记(二):时钟与复位
  • SpringBoot+MyBatis+MySQL的Point实现范围查找
  • 【软考】系统架构设计师-计算机系统基础(3):嵌入式系统
  • 网页作业9
  • 嵌入式面试题练习 - 2024/11/15
  • 华为OD机试真题-观看文艺汇演问题-2024年OD统一考试(E卷)
  • Float类型的有效位数有几位
  • Kullback–Leibler divergence讲解
  • 拥有一个你说了算的人生—觉知
  • 柳淘鸿黄金沁透发热面膜:肌肤逆龄之旅的秘密武器!
  • Linux-进程优先级
  • 02 信念·组织力·战略 - 目标管理
  • AJAX 入门 day3
  • Pytorch详解-Pytorch核心模块
  • Mixtral 8x7B:开源稀疏混合专家模型的新里程碑
  • django实现开发、测试、生产环境配置区分
  • 不容错过!【寻找散落的Mar力】活动,赢取RTX4090金条超值大奖!
  • HashMap 详解
  • python-素数中的等差数列
  • AI读书-领导人选集-关于个人主义与公司个人管理经验
  • 中级练习[10]:Hive SQL
  • EMT-DAVT--基于子空间分布对齐和决策变量转移的多目标多任务优化
  • UART协议
  • 7-16 一元多项式求导(vector)
  • 笔记整理—内核!启动!—kernel部分(7)rcs文件和登录部分与密码解析