【发布时间】:2016-05-18 04:00:42
【问题描述】:
假设我们有一个 char 数组:
char pool[1000];
还有一个指针
char* ptr;
指针将地址存储到池中的数据块。我想将此地址存储在池中并同时检索它。
基本上,我想做的是一个嵌入到 char 数组池中的链表。原因是我不允许(全局)创建任何新变量,并且我不能包含新的标头,以及其他限制。
所以问题是:我如何在 pool[] 的前 4 个元素中分割和拟合一个 4 字节地址(比方说),以及如何再次检索它以进行修改。强>
这个操作会经常发生,所以它需要快速......当然不能依赖外部函数。
【问题讨论】:
-
听起来你想要类似于堆栈分配器的东西。您想如何跟踪池中已使用的部分?
-
@P0W 这很有帮助。但我不能声明全局变量,因此存储在池中。
-
@vu1p3n0x 是的,我正在制作一个分配器。堆栈分配器不适用于我的场景,因此它将成为某种形式的 freestore 分配器。我还没有达到跟踪块的地步。如您所见,我想先通过存储和检索日期:)。但我愿意接受这方面的建议。
标签: c++ arrays pointers linked-list