类里面的枚举是static 的吗?

wubooy 2007-04-17 07:12:45
class asdf
{
public:
static enum en
{
a, b, c
};
};
int main()
{
asdf a;
int b= a.b;//可以
int c = a::b;// 可以
}
也可以把枚举声明成static 的
那么枚举究竟是默认static 吗,全局的枚举是不是呢?
...全文
532 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
KUCHIBUE 2007-04-18
  • 打赏
  • 举报
回复
enum声明的时候,等价于#define abc 123,根本就不占内存。
enum定义变量的时候,差不多等价于int x;
C语言基本功没过关啊。

-----------------------------------------

看到这我才释然。。。。一开始还以为自己是火星来的呢。。。。
taodm 2007-04-18
  • 打赏
  • 举报
回复
多看点好书,你自然就知道C++和C的几乎每一点区别。
wubooy 2007-04-18
  • 打赏
  • 举报
回复
说的是C++,你怎么能肯定C++的枚举和C的定义是一样的呢?
taodm 2007-04-18
  • 打赏
  • 举报
回复
enum声明的时候,等价于#define abc 123,根本就不占内存。
enum定义变量的时候,差不多等价于int x;
C语言基本功没过关啊。
weixlin 2007-04-18
  • 打赏
  • 举报
回复
sizeof结果看起来是共享,那它又怎么区分不同的枚举成员呢?

还得请高人指点一下enum内部是怎么存储的?怎样查看enum变量内存中的内容?
taodm 2007-04-17
  • 打赏
  • 举报
回复
你sizoef一下有没有这个enum的时候,类对象的大小不就知道了
wubooy 2007-04-17
  • 打赏
  • 举报
回复
A 的所有对象共享一个枚举还是每个对象有个拷贝呢,关系到空间效率的问题,用不用显式的加static作修饰呢
merlinfang 2007-04-17
  • 打赏
  • 举报
回复
对于静态可以用类名,当然也是类成员
全局的枚举加上static就成了只能在该cpp引用了
zwlzwlzwl 2007-04-17
  • 打赏
  • 举报
回复
int c = a::b;// 不可以
应是int c = asdf::b
类中的枚举是静态的

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧