类数组元素指针初始化问题

尘中远 2011-10-25 09:40:20
小弟初学者,问题幼稚别见笑
自己定义了一个类来存数据
class CParaData
{
public:
CParaData();
double fSpeed;
double fCurrent;
COleDateTime oleTime;
};

CParaData::CParaData()
{
fSpeed=0.0;
fCurrent=0.0;
oleTime.SetDateTime(2011,10,26,10,10,10);
}


然后呢我定义了一个数组
CParaData g_cfData[16384];


好吧,在某次我想对他进行清0,或像调用普通数组指针一样掉用某元素的指针我就疑惑了
像数组
double *pd;
pd = new double[10000];

那么它的首地址是pd,然后就可以用他的元素什么的了
如pd[500];
但是这个类数组呢?
CParaData g_cfData[16384];
他的元素fSpeed是否也可以像普通数组那样的
&(g_cfData->fSpeed)会是什么东西
能double *pdd = &(g_cfData->fSpeed);
pdd[100]会是 g_cfData[100].fSpeed吗?若想通过指针得到g_cfData某元素应该怎样?
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 czyt1988 的回复:]
double *pd;
pd = new double[10000];
那么它的首地址是pd,然后就可以用他的元素什么的了
如pd[500];
或者初始化
ZeroMemory(pd,sizeof(double)*10000);
其实我提这个问题是想用ZeroMemory把里面的fSpeed和fCurrent全至0的。虽然可以用for


嗯!重载[]!没想到!其实也不大会
[/Quote]

类是不能随便bzero的,楼主应该好好思考一下对CParaData对象做bzero会对它的成员oleTime造成什么不堪设想的后果。
尘中远 2011-10-25
  • 打赏
  • 举报
回复

double *pd;
pd = new double[10000];
那么它的首地址是pd,然后就可以用他的元素什么的了
如pd[500];
或者初始化
ZeroMemory(pd,sizeof(double)*10000);
其实我提这个问题是想用ZeroMemory把里面的fSpeed和fCurrent全至0的。虽然可以用for


嗯!重载[]!没想到!其实也不大会
qq120848369 2011-10-25
  • 打赏
  • 举报
回复
类就是拿来封装数据的,提供接口返回数据的指针/引用或者提供接口修改数据或者提供接口返回数据的副本

或者重载operator []

64,637

社区成员

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

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