当前位置: 首页 > 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等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python编程 - 异常处理与文件读写
  • Rust编写Windows服务
  • Python精选200Tips:121-125
  • Unity-Transform-坐标转换
  • Prometheus+grafana+kafka_exporter监控kafka运行情况
  • Python酷库之旅-第三方库Pandas(117)
  • 人工智能在现代科技中的应用和未来发展趋势
  • 微信小程序中巧妙使用 wx:if 和 catchtouchmove 实现弹窗禁止页面滑动功能
  • git命令行基础常用指令
  • 嵌入式通信原理—SPI总线通信原理与应用
  • Python数据分析及可视化教程--商城订单为例-适用电商相关进行数据分析---亲测可用!!!!
  • 【AI大模型】ChatGPT模型原理介绍(下)
  • 【ESP32】ESP-IDF开发 | GPIO通用输入输出+LED点灯和按键输入例程
  • Java小区物业管理系统
  • JDK动态代理和CGLIB动态代理有什么区别?
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • golang中接口赋值与方法集
  • HashMap ConcurrentHashMap
  • Shell编程
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 反思总结然后整装待发
  • 基于HAProxy的高性能缓存服务器nuster
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端面试之闭包
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 鱼骨图 - 如何绘制?
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (C#)获取字符编码的类
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Python) SOAP Web Service (HTTP POST)
  • (WSI分类)WSI分类文献小综述 2024
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (五)网络优化与超参数选择--九五小庞
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (新)网络工程师考点串讲与真题详解
  • (转) ns2/nam与nam实现相关的文件
  • (转)Sql Server 保留几位小数的两种做法
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET IoC 容器(三)Autofac
  • .net6使用Sejil可视化日志
  • @angular/cli项目构建--Dynamic.Form
  • @Responsebody与@RequestBody
  • [].slice.call()将类数组转化为真正的数组
  • [AIGC] Spring Interceptor 拦截器详解
  • [Android]使用Android打包Unity工程
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [docker]docker网络-直接路由模式