C++一些基本数据结构:字面常量、符号常量、枚举常量
常量:C++包括两种常量,字面常量和符号常量.
字面常量:指的是直接输入到程序中的值
比如:in myAge=26; myAge是一个int类型变量,而26是一个字面常量。
符号常量:指的是用名称表示的常量,就像变量一样表示,但是一旦初始化,其值就不能改变.
主要指的是:
①const定义的常量:const unsigned short int studentPerClass=15;这里的studentPerClass就是一个符号常量
②使用#include定义的常量:#define studentPerClass 15 这里的studentPerClass也是一个符号变量
枚举常量
枚举常量可以创建一个新类型,然后定义新的类型变量,将这些变量的取值定义为一组可能值。
定义方法: enum COLOR {RED,BLUE,GREEN,WHITE,YELLOW};
该语句执行后有两个变化:
1)COLOR成为枚举的名称,成为一种新类型
2)如果没有特殊说明,默认枚举中标示符的内容为从0开始递增的整形常数,即RED=0,BLUE=1,GREEN=2,WHITE=3,YELLOW=4
当然也可以自己定义枚举值:
enum COLOR {RED=,BLUE=,GREEN=,WHITE=,YELLOW=};
关于枚举的几点说明:
①枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。
②只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。
C++一些基本数据结构:字面常量、符号常量、枚举常量的更多相关文章
- 修改mybatis plus Generator模板生成字段注释枚举常量
修改mybatis plus Generator模板生成字段注释枚举常量 本文基于最新的mybatis-plus 3.0.1版本源码修改,如果使用其它版本,处理方式也类似,主要是生成Entity的Fr ...
- 枚举 switch case 标签必须为枚举常量的非限定名称
枚举 switch case 标签必须为枚举常量的非限定名称 错误描述: Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称. 解决思路: switch ...
- Java中怎样由枚举常量的ordinal值获得枚举常量对象
Java1.5提供了关键字enum,能够通过该关键字方便得定义自己须要的枚举类型,比方 enum Season { SPRING, SUMMER, AUTUMN, WINTER } 就定义了一个季节枚 ...
- java 的枚举变量只能使用枚举常量来初始化--带有关联数据的枚举
public enum ResultEnum { SUCCESS("200","成功"), FAILURE("500","发生异常 ...
- 【WinAPI】Windows Message 枚举常量收集
namespace WindowsUtilities { public enum WindowsMessages : int { WM_NULL = 0x0000, WM_CREATE = 0x000 ...
- Office.MsoLanguageID枚举常量(采用API函数取出)
msoLanguageIDAfrikaans (&H436) msoLanguageIDAlbanian (&H41C) msoLanguageIDAmharic (&H45E ...
- ShaderLab 枚举常量
public enum ZTest { Always = 0, Less = 2, Equal = 3, LEqual ...
- C++基础内容复习
下列语句定义了5个变量: int count; double sales_price,sum; std::string title; Sales_item bookItem; 每个定义都是以类型说明符 ...
- C#9.0新特性详解系列之六:增强的模式匹配
自C#7.0以来,模式匹配就作为C#的一项重要的新特性在不断地演化,这个借鉴于其小弟F#的函数式编程的概念,使得C#的本领越来越多,C#9.0就对模式匹配这一功能做了进一步的增强. 为了更为深入和全面 ...
随机推荐
- July 05th. 2018, Week 27th. Thursday
Pleasure in the job puts perfection in the work. 乐于工作才能有完美表现. From Aristole. Do you want promotion? ...
- 教程二 网页和lua交互修改openwrt
硬件 http://zhan.renren.com/h5/entry/3602888498044209332 GL-iNet 1 首先安装 webserver之lighttpd ,openwrt自带 ...
- Android 音视频同步机制
一.概述 音视频同步(avsync),是影响多媒体应用体验质量的一个重要因素.而我们在看到音视频同步的时候,最先想到的就是对齐两者的pts,但是实际使用中的各类播放器,其音视频同步机制都比这些复杂的多 ...
- mysql的学习笔记(二)
1.数据类型,存储的类型. 整型 TINYINT 有符号-128到127 无符号值:0到255 1字节 SMALLINT 有符号 -32768到32767 0到65535 2字节 MEDIUMINT ...
- 286万QPS!腾讯云TDSQL打造数据库领域的“超音速战机”
Bloodhound SSC超音速汽车将陆地极限速度提升到1678公里/小时,号称陆地“超音速战斗机”.无独有偶,同样也在2017年,在英特尔®.腾讯金融云团队的共同见证下,腾讯云数据库TDSQL采用 ...
- .NET Core微服务之基于Exceptionless实现分布式日志记录
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Exceptionless极简介绍 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,AS ...
- Navicat 导出sql问题
楼主最近碰到一个问题: 使用Navicat建立数据模型的时候使用导出sql功能导出的sql脚本放在sqlserver中执行失败,表创建成功了,但是我在Navicat中写的表注释和字段注释都没有成功, ...
- 痞子衡嵌入式:ARM Cortex-M内核MCU开发那些事 - 索引
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是ARM Cortex-M内核微控制器相关知识. ARM公司从2004年开始推出Cortex-M系列内核,迄今Cortex-M家族已经包 ...
- [Vue] vue中setInterval的问题
vue中使用setInterval this.chatTimer = setInterval(() => { console.log(this.chatTimer); this.chatMsg( ...
- 树莓派linux系统中显示隐藏文件的几种方法
一.如果直接使用可视化文件管理器 1.直接点击右键,直接选择“显示隐藏文件”选项. 2.快捷键 CTRL + H 二.在终端命令行模式下 可以使用ls命令的-a参数来显示隐藏的文件及文件夹. ls - ...