enum的本质
来源:互联网 发布:python 简明教程 编辑:程序博客网 时间:2024/06/07 07:12
当中,而且一度成为C++中定义编译期常量的唯一方法(后来在类中引入了静态整型常量)。
一个用户自定义的类型其所占用的内存空间是多少呢?使用enum类型是否真的能够起到有限
集合常量的边界约束呢?大家可能都知道enum类型和int类型具有隐示(自动)转换的规则,
那么是否真的在任何地方都可以使用enum类型的变量来代替int类型的变量呢?下面会逐一
回答这些问题。
呢?其实可以采用类类型来模拟枚举类型的有限常量集合的概念,同时得到类型安全的好处,
具体参见后续的文章。
转自:http://www.cppblog.com/chemz/archive/2007/06/05/25578.aspx
在另外一篇文章中,有解决enum不支持命名空间的特性的办法:
{
public:
};
int main()
{
}
代码 3 C++枚举不使用限定名适合的例子
我们注意到,这里的代码可读性非常好.但是这段代码的特点是:枚举类型嵌套的定义在父类型里面.但是在很多的情况下,枚举类型具有独立的意义,不必嵌套在任何的类型里面,例如上面的代码1.
要解决这个问题,传统的做法有两种:
1 仍然使用枚举声明,但是增加前缀,例如 enum Days{Day_Sat=1, Day_Sun, Day_Mon,Day_Tue, Day_Wed, Day_Thu, Day_Fri}; enum Planets{ Planet_Moon,Planet_Earth, Planet_Sun };
2 不再使用枚举声明,使用int替代,并且嵌套在类型之中,例如
struct Days
{
};
struct Planets
{
};
{
};
typedef Days::Days_ Days;
int main()
{
}
代码 4 C++ enum的用法
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- enum类型的本质
- Java中enum的本质
- enum类型本质
- 深入java虚拟机——enum本质
- 本质啊本质之一:数据类型的本质
- $的本质
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- sed
- MFC 禁止主窗口的移动
- MFC 窗体的样式
- enum关键字的使用技巧--C、MFC、、
- enum的本质
- goagent
- error LNK2005: "enum TWindowAttr TWINDOWATTR" (?TWINDOWATTR@@
- error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默
- enum 使用技巧MFC可以定义在类中、结构体中
- new 使用
- 指针静态和动态转化的时候注意的是否检查指针类型
- 推荐系统开源软件列表汇总和评点
- VS2010文本编辑器快捷键