请注意您已经分配了一个固定的内存区域,C或C ++库允许您在该内存中存储动态结构(例如哈希)吗?
即。哈希库不能包含对malloc或new的任何调用,但必须使用一个参数来告诉它允许使用的内存的位置和大小。
(如果库在内部使用偏移而不是指针,以防共享内存映射到使用它的每个进程中的不同地址空间,则会获得奖励)
答案 0 :(得分:7)
您可以为STL容器编写自己的自定义分配器。
答案 1 :(得分:2)
使用一个简单的线性探测哈希表来使用内存块是很简单的 - 只需将其表设置为在创建时指向已分配的内存,并且不实现任何内容以分配更多内存桌子长大了。