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

枚举法——C++算法【泪光2929】

前言
         "打牢基础,万事不愁" .C++的基础语法的学习."学以致用,边学边用",编程是实践性很强的技术,在运用中理解,总结.

引入
       枚举在成熟框架中,用得还挺多的.枚举可以让程序更容易理解

        之前写过一篇关于枚举的帖子---  白话编程---数据篇(4)枚举-CSDN博客

        现在看看是以纯C写的,内容不够完整.现以C++做个补充

枚举的编程思想
        枚举的意义是让程序可读性更强.他有三种形式,这三种形式的目的是相同的:参数符号化.也就是说他的编程思想是符号化参数.

C++中枚举的三种形式
        枚举有三种形式: 符号常量集合, 无类作用域枚举,类作用域枚举 .其中符号常量集合可以完全替代常量(一般是整型常量),后两种被看作自建的新数据类型.

 符号常量集合
        第一种枚举是完全的字面常量替代.还有一种符号常量const int LENGTH=10;枚举相当于符号

常量的集合:

        1,书写形式:下面的表达完全是一样.

enum {SLEEP=1,WORK=2,EAT=3}
const int SLEEP=1;
const int WORK=2;
const int EAT=3;

        2,使用举例:

#include<iostream>
enum {SLEEP=1,WORK=2,EAT=3};
void doSomething(int num);int main(void) {using namespace std;doSomething(SLEEP);		//枚举做参数,可读性强doSomething(1);			//整型常量做参数doSomething(2);			//整型常量做参数
}void doSomething(int num) {if(num==1)std::cout << "我在做梦" << std::endl;if(num==2)std::cout << "我在写代码" << std::endl;if(num==3)std::cout << "我在吃肉" << std::endl;
}

说明:符号常量型枚举的思路和实现步骤如下

        1)需求:想表达一串逻辑,在"情形1","情形2"...等多种情形下做什么事, 

        2)函数声明用int类型做形参,函数内部逻辑和形参相关;

        3)定义符号常量型枚举

        4)调用函数时传入枚举

在C++标准函数库中,异常部分有调用exit(SUCCESS);  exit(FAILURE)就是其应用

http://www.xdnf.cn/news/3322.html

相关文章:

  • ShardingSphere5详细笔记
  • Vue2 和 Vue3 的核心区别
  • 腾讯云web服务器配置步骤是什么?web服务器有什么用途?
  • TM1668芯片学习心得二
  • 【SpringBoot】基于mybatisPlus的博客系统
  • 【计算机视觉】目标检测:深度解析MMDetection:OpenMMLab开源目标检测框架实战指南
  • Winform(6.序列化方式)
  • 港口危货储存单位主要安全管理人员考试精选题目
  • [Unity]设置自动打包脚本
  • Copilot 祝你走在AI前沿:2025 年 4 月动态
  • 小程序中的页面跳转
  • TimeDistill:通过跨架构蒸馏的MLP高效长期时间序列预测
  • 有状态服务与无状态服务:差异、特点及应用场景全解
  • leetcode76
  • Vue+tdesign t-input-number 设置长度和显示X号
  • 智能驾驶新时代:NVIDIA高级辅助驾驶引领未来出行安全
  • iOS 性能调优实战:三款工具横向对比实测(含 Instruments、KeyMob、Xlog)
  • C语言与Unix的传奇起源
  • (32)VTK C++开发示例 ---背景纹理
  • pytorch中的变量内存分配
  • WPF之RadioButton控件详解
  • C/C++核心机制深度解析:指针、结构体与动态内存管理(面试精要)
  • 生成项目.gitignore文件的多种高效方式
  • 分布式-redisson
  • 优先级队列
  • 【DBeaver】如何连接MongoDB
  • VSCode Auto Rename Tag插件不生效
  • OLED技术解析与驱动实战指南
  • Python 使用一等函数实现设计模式(“命令”模式)
  • C++智能指针