struct 包含enum

wangguang246 2010-10-15 10:41:21
今天看到的一个数据结构定义:
template <int iData, typename Type>
struct Node
{
enum { value = iData };
typedef Type Next;
};
不明白为何需要enum?
他的本意是定义一个链表:
类似这样的struct ListNode
{
int value;
ListNode* next;
};

麻烦详细解释一下
...全文
155 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujunnb 2010-10-15
  • 打赏
  • 举报
回复
学习。。。。。。
ren22342411 2010-10-15
  • 打赏
  • 举报
回复
只是结构体中定义一个常量
herman~~ 2010-10-15
  • 打赏
  • 举报
回复
value是 常量
weixiaoshashou 2010-10-15
  • 打赏
  • 举报
回复
一般而言数据只有在构造函数里面初始化,要么就是一个静态常量才可以在类里面初始化,还有就是用enum.

支持2L
pengzhixi 2010-10-15
  • 打赏
  • 举报
回复
诶,编译期确定的值,模板元编程里面用的多
冻结 2010-10-15
  • 打赏
  • 举报
回复

template <int iData, typename Type>
struct Node
{
enum { value = iData }; //这应该是一个常量。
typedef Type Next;
};

用于旧点的编译器,相当于

template <int iData, typename Type>
struct Node
{
static const int value = iData ;
typedef Type Next;
};


但为什么这么做不明白,不敢肯定,楼下高手继续。
shenchenman 2010-10-15
  • 打赏
  • 举报
回复
为了扩展性,如果数据里加入新的支持的类型,可以在里面添加enum的成员

64,637

社区成员

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

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