我有一个程序可以读取游戏中实体的“原始”列表,我打算创建一个数组,其中包含不确定数量的实体的索引号(int) ,用于处理各种事情。我想避免使用太多的内存或 CPU 保持这样的索引..。
到目前为止,我使用的一个简单快捷的解决方案是在主处理函数(本地焦点)中声明一个数组,其大小为最大游戏实体,另一个整数用于跟踪列表中添加了多少个实体。 这并不令人满意,因为每个列表包含3000多个数组,这并不多,但感觉像是一种浪费,因为我可能会使用6-7个列表的不同函数的解决方案。
我还没有找到任何 C (不是 C + + 或 C #)特定的解决方案来实现这一点。我可以使用指针,但是我有点害怕使用它们(除非这是唯一可能的方法)。
数组不会离开本地函数范围(它们将被传递给函数,然后丢弃) ,以防发生更改。
如果指针是唯一的解决方案,我如何跟踪它们以避免泄漏?