C++ 符号常量

2023-11-04

一,const限定符

使用const关键字来创建符号常量,常量被创建后其值就固定了,编译器将不允许修改该常量的值。

const int a = 20;
注意,应在声明时对const进行初始化,如果在声明常量时没有提供值,则该常量的值将是不确定的,且无法修改。


二,使用enum创建符号常量

a,使用enum定义新类型

enum color{red, blue, black, yellow, white};
color val;  //定义一个枚举类型的变量
val = red;  //给枚举类型的变量赋值

上面定义了枚举类型color,就像struct变量被称为结构一样。将red、blue、black、yellow、white等叫做枚举量。在默认情况下,将整数值赋给枚举量,第一个枚举量的值是0,第二个枚举量的值为1,依次类推。可以通过显示地指定整数值来覆盖默认值。


b,使用枚举类型的限制

1,上面的color类型的变量受到限制,只有5个可能的值。如果试图将一个非法的值赋给它,则有些编译器将出现编译错误。为获得最大限度的可移植性,应将非enum值赋给enum变量视为错误。


2,对于枚举只定义了赋值运算符,没有为枚举定义算术运算符。

color val;
val = red;  //valid
val ++;  //invalid


c,设置枚举变量的值

可以显示设置枚举量的值,指定的值必须是整数。

enum color{red , blue = 100, black, yellow = 200, white};

这里red在默认情况下是0,后面没有被初始化的枚举量的值将比前面的枚举量的值大1。因此,black = 101,white = 201。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 符号常量 的相关文章

随机推荐

  • Linux 帮助手册安装不全

    今天在新安装的 fedora 17 虚拟机上写多线程程序的时候 本想查看下系统帮助手册中关于线程相关函数的说明 结果 tom localhost thread man pthread create No manual entry for p
  • 手把手教你配置BSC(币安智能链)网络,只需5分钟

    这里就用小狐狸 Metamask 钱包了 因为本人坚信用狐狸钱包日后可以撸到空投 1 PC端Chrome浏览器安装metamask钱包插件 要去Metamask官网下载钱包哦 然后把插件添加至Chrome浏览器扩展程序中 这个不会的小伙伴欢
  • 【Vue系列5】——Vue组件化开发入门篇

    点赞多大胆 就有多大产 开源促使进步 献给每一位技术使用者和爱好者 干货满满 摆好姿势 点赞发车 前言 本文主要说一下组件化开发一些概念和基本使用 有基础的小伙伴应该听过组件通信 插槽等这样的概念 我们下篇再说 在具体编码之前我们需要知道两
  • JS判断数组是否存在交集

    2019独角兽企业重金招聘Python工程师标准 gt gt gt
  • 服务器卡死,重启报错: INFO: task blocked for more than 120 seconds

    问题 服务器负载很高 但是CPU利用率不高 服务器经常夯住 网站打不开 SSH连接非常不稳定 输入命令夯住 重启服务器报错 INFO task blocked for more than 120 seconds 问题原因 默认情况下 Lin
  • Linux下安装配置tomcat

    Linux下安装配置tomcat 1 安装 Tomcat版本 6 0 29 Linux版本 Radhat Enterprise 5 5 Jdk版本 1 6 0 20 解压缩tomcat tar zxvf apache tomcat 6 0
  • python+django网上美食菜品订餐系统的设计与实现vue

    随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 好吃网线上订餐系统当然也不能排除在外 从美食类型 美食信息的统计和分析 在过程中会产生大量的 各种各样的数据 本文以好吃网线上订餐系
  • JS - 基本语法

    JavaScript是一种脚本语言 主要功能是 动态修改html页面内容 包括创建 删除html页面元素 修改html页面元素的内容 外观 位置 大小等 数据类型和变量 任何语言都离不开数据类型和变量 虽然JavaScript语言是弱类型的
  • D-S证据理论

    一 前言 20世纪60年代美国哈佛大学数学家A P Dempster利用上 下限概率来解决多值映射问题方面的研究工作 自1967年起连续发表了一系列论文 标志着证据理论的诞生 Dempster的学生G Shafer对证据理论做了进一步发展
  • js中for循环与定时器

    js中for循环和定时器的问题 有四个解决方法 这里面涉及到了同步与异步的问题 也可以理解为 解决方法1 闭包 解决方法2 拆分结构 解决方法3 let let和var区别 解决方法4 第三个参数 for var i 0 i lt 6 i
  • 超酷的13个CSS有趣学习网站

    13个CSS有趣学习网站 今天来给大家推荐13个辅助你学习巩固知识的网站 让你边玩边学边记 因为这些网站大多都是国外的大佬们做的 所以网页大多都是英文 为了更好地使用 给你们推荐两个翻译的方式 使用Chrome浏览器自带的翻译功能 可以中英
  • Linux异步IO实现方案总结

    一 glibc aio 1 名称 由于是glibc提供的aio函数库 所以称为glibc aio glibc是GNU发布的libc库 即c运行库 另外网上还有其他叫法posix aio 都是指glibc提供的这套aio实现方案 2 主要接口
  • java中other的用法_java语言 - 如何使用"variable might not have been initialized(变量可能未初始化)"避免System.exit_others_...

    奇怪的是编译器不知道System exit 1 永远不会返回 因此 你所要做的就是给它提供一些不会让你从catch块到try catch之后的东西 例如 try foo Long parseLong args 0 bar Long pars
  • java获取前四个季度结束日期_JAVA使用LocalDate获取当前日期所在季度的开始日期和结束日期...

    需要使用jdk1 8及以上 获取当前日期所在季度的开始日期和结束日期 季度一年四季 第一季度 1月 3月 第二季度 4月 6月 第三季度 7月 9月 第四季度 10月 12月 param isFirst true表示查询本季度开始日期 fa
  • IOU计算Python代码实现

    文章目录 一 目标检测中的IOU代码实现 二 代码 总结 一 目标检测中的IOU代码实现 目标检测中会用IOU大小的值来衡量检测结果与准确结果之间的差距 IOU的计算公式 IOU A B A B 式中A B为检测结果和准确结果 ground
  • opencv4(五) VideoCapture获取摄像头图像

    环境 ubuntu18 04 opencv4 4 0 摄像头 usb摄像头 挺老的摄像头 还是usb2 0的 csi摄像头也支持这种方法 插入摄像头后 ls dev可以看到 dev video0 video后面的数字就是后面需要的设备id
  • IDEA 之解决快捷键突然失效问题

    刚开机打开IDEA所有快捷键是可用的 但是发现打开很多软件后 IDEA中有些快捷键会失效 原因 IDEA的快捷键和其中一个软件的快捷键冲突 解决方案一 找到和IDEA快捷键冲突的软件 在软件中取消和IDEA冲突的快捷键 但是很多情况下根本找
  • springboot:员工管理系统-修改与删除

    修改员工数据 编辑和删除都需要根据员工的id来进行 步骤 我们需要一个按钮跳转到编辑页面 从而进行修改功能 a class btn btn sm btn primary 编辑 a 对应的controller 去员工的修改页面 GetMapp
  • 继承的笔记

    继承 对象代表什么 就得封装对应的数据 并提供数据对应的行为 对于两种不同的类 但是具有很多共同的属性的时候我们就想着用继承 我们可以将共同的属性放置在一个类中 然后 只需要新建两个类 继承共有的类 然后单独写自己的属性特点 继承类 Jav
  • C++ 符号常量

    一 const限定符 使用const关键字来创建符号常量 常量被创建后其值就固定了 编译器将不允许修改该常量的值 const int a 20 注意 应在声明时对const进行初始化 如果在声明常量时没有提供值 则该常量的值将是不确定的 且