A THIRD DIMENSION 这个有人做过合集的吗
编辑:Simone
2025-04-25 05:13:03
564 阅读
这个A THIRD DIMENSION的合集资源很多,你可以选择百度STEVE福利游戏动漫,进行下载。内容很多,自己选择。
TAILQ_FOREACH和TAILQ_FIRST的实现代码略。详细的看下面的附录中的代码,比较简单
TAILQ_LAST的作用是计算出队列最后一个元素的地址,它的实现就有点难懂了,用到了TAILQ_ENTRY和TAILQ_HEAD内存布局一样的知识点:
#define TAILQ_LAST(head,headname) \
(*(((struct headname *)((head)->tqh_last))->tqh_last))
队列中的tqh_last字段的值是队列最后一个元素的tqe_next的地址,不是最后一个元素的地址。怎么计算出最后一个元素的地址呢? (structheadname *)(head)->tqh_last获得最后一个元素的tqe_next的地址,并强制转换成队列指针类型,再对其用->tqh_last 就相当于获得了最后一个元素的tqe_prev地址(因为TAILQ_ENTRY和TAILQ_HEAD内存布局一样),然后解引用就得到了最后一个元素 的地址。很巧妙!
其它接口的实现请看queue.h文件,略。有了上面的知识,就很简单了。
版权声明:本站【百问十九】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.baiwen19.com/answer/231912.html