有点奇怪,关于CSimpleList类

Sandy_Y 2008-05-13 11:44:05
在MFC中出现:
void** CSimpleList::GetNextPtr(void* p) const
{
assert(p != NULL);
return (void**)((BYTE*)p+m_nNextOffset);//返回二级指针,为什么不是return (void**)&((BYTE*)p+m_nNextOffset)??
//(BYTE*)p+m_nNextOffset是一个一级指针,指针的指针不是&((BYTE*)p+m_nNextOffset)吗?
}
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuy518329 2011-01-22
  • 打赏
  • 举报
回复
嘎嘎。说一下我的看法。。。
(BYTE*)p+m_nNextOffset可以看成一个一级指针,也可以看成二级指针。就像一个指向二维数组的指针,可以看成一级指针,那么它指向的就是一个一位数组,也可以看成二级,它指向的就已数组中的元素了。
(void**)((BYTE*)p+m_nNextOffset)
GetNextptr函数通过偏移量m_nNextOffset取得pNext指针的地址,而参数p指向的是CThreadData类型数据的指针,GetNextptr函数将p的地址加上偏移量就得到了CThreadData中的pNext指针的地址。。

int a[][]
int**p=a
*p=a[0]
void p1=(void**)(*p+1);
p1此时指向的是存放a[0][1]地址指针的指针。。。
missile1226 2008-11-18
  • 打赏
  • 举报
回复
在MFC中出现:
void** CSimpleList::GetNextPtr(void* p) const
{
assert(p != NULL);
return (void**)((BYTE*)p+m_nNextOffset);//返回二级指针,为什么不是return (void**)&((BYTE*)p+m_nNextOffset)??
//(BYTE*)p+m_nNextOffset是一个一级指针,指针的指针不是&((BYTE*)p+m_nNextOffset)吗?
}

这个地方看不懂?为什么是(BYTE*)p呢?
phisherr 2008-09-23
  • 打赏
  • 举报
回复
(BYTE*)p+m_nNextOffset是一个一级指针,

但是我们知道它是指向的这个地址是放着一个指针(这个指针指向下一个节点)的,

(void**)((BYTE*)p+m_nNextOffset) 是指向节点指针的指针;通过两次星号运算得到节点;



&((BYTE*)p+m_nNextOffset) 就是另外一种情况了;
(BYTE*)p+m_nNextOffset的值表示的是一个地址;但是本身却是一个相加的结果(即是一个表达式);
我们是不能对一个表达式去取地址的;
内容概要:本文介绍了基于ExtendSim软件构建的儿童保护模拟分析模型,旨在通过仿真技术评估不同工作包(Work Package)对儿童保护系统长期影响的效果。该模型自2014年起由澳大利亚某政府部门与Insight Acumen合作开发,用于支持政策决策,特别是在区域层面测试干预措施的实施效果。模型利用约数十万条历史数据自动生成概率分布(PD),模拟儿童在不同年龄、原住民身份、地区、初次或再次进入系统等条件下的路径发展。随着时间演进,模型经历了多次结构优化,从最初的7个区域调整为5个再扩展至6个,并实现了高度自动化,能够自动导入Excel原始数据并借助ModL编程语言完成初始化计算,显著提升了效率。目前模型每年提供74项关键指标输出,所有分析均由部门内部人员操作执行,大幅节省了人力成本并提高了测试与分析的有效性。; 适合人群:具备数据分析、系统建模背景,从事公共政策研究、社会服务管理或儿童福利领域的政府工作人员及咨询顾问。; 使用场景及目标:①评估儿童保护政策在不同区域和时间段的实施效果;②优化资源配置与工作包部署策略;③预测未来10-15年儿童保护系统的负荷与发展趋势;④提升政府部门在复杂社会系统中的决策科学性与响应效率。; 阅读建议:本模型强调实际应用与持续迭代,建议读者关注其数据自动化处理机制、ModL编程实现方式以及多维度概率建模方法,在复用时结合本地化数据结构进行适配与验证。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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