C/C++枚举和宏的区别
C++ 区别 枚举
2023-09-14 09:09:14 时间
区别1:
宏是是在预编译阶段进行的文本替换,而枚举是在编译的阶段进行的处理的;
所以宏不能调试,枚举可以调试。
区别2:
宏定义时需要一条一条的定义,而枚举定义一次就可以了;
#define MON 1
#define TUES 2
#define WED 3
.........
enum
{
MON,
TUES,
WED
........
};
枚举中的每一项元素都是常量,是不可以赋值的更改的,但是我们可以在声明枚举的时候给个初始值。
enum
{
MON,
TUES = 2,
WED
};
其中我们给TUES初始值2,那么WED默认为3 ,以此类推。
枚举是将一类型的信息集合在一起,而宏相对比较分散一点。
区别3:
宏作为指令存储在代码段(指令段)
枚举作为常量,存储在了数据区(rodata段)
而且枚举还会占用CPU的资源
http://blog.sina.com.cn/s/blog_185268e880102xxkm.html
相关文章
- 多线程C语言_多线程c++
- 使用C++ OpenCV实现椭圆区域检测与Aruco码的生成与检测并估计位姿
- EasyC++63,抽象数据类型
- C++中this指针的理解和用法
- java和c 就业,c++和java的区别和就业前景
- C++和java的区别和联系「建议收藏」
- C++构造函数的作用_c++什么是构造函数
- c++快速输出
- C++的构造函数的关键字
- c++创建对话框_窗体边框改为对话框样式
- C++基本概念_c语言 c++区别
- c++二分法查找_二分法查找python代码
- C++结构体和类的区别_c++有结构体吗
- C++ 不知树系列之二叉排序树(递归和非递归遍历、删除、插入……)
- c++的链表-C++实现简单链表
- C/C++ 实现内存特征码搜索
- C/C++ Qt 选择夹TabWidget组件应用
- C/C++ Capstone 引擎源码编译
- C++聚合和组合详解
- C++11 Lambda表达式(匿名函数)详解
- C如何连接Oracle数据库(c++怎样连oracle)
- c++map,mutimap删除问题分析
- 关于C++使用指针堆和栈的区别分析
- c++虚函数与纯虚函数的区别(深入分析)
- C/C++动态分配与释放内存的区别详细解析
- C++实现调用系统时间简单示例
- C++实现迷宫算法实例解析
- 深入分析C++中声明与定义的区别
- C++直接初始化与复制初始化的区别深入解析