我的代码中有许多对象,每个对象都有自己的数字ID /指针。我希望将这些对象存储在某种结构中,我可以使用它们的数字ID从结构中引用对象。但是,ID不是顺序的,我不想为所有不存在的ID分配空间。这排除了简单地创建一个对象数组。
我目前正在使用containers.Map类,它使用查找键存储值/对象,但速度相当慢。还有其他选择吗?
作为示例,此代码将创建一个container.Map对象,map
填充虚构对象:
%create object storage container which uses uint32 keys and can store values of any class
map = containers.Map('KeyType','uint32','ValueType','Any');
%construct objects with ID property, and store in map
for ID = [8 230 755 67 102]
map(ID) = example_obj(ID)
end
是否有任何可以替换容器的地址。此代码中的map
对象不会为1到755之间的所有非现有ID分配空间?