我想为每对(指向对象的指针,该对象中的方法名称)分配一些数据,以便稍后有效地检索该数据,知道指向对象的指针和方法的名称。
class object;
class data;
哪个容器可以更好地运作:
std::map<object*,std::map<std::string, data> > container;
或
std::map<std::pair<object*,std::string>,data > container;
或者,我应该使用其他东西吗?请注意,大多数对象只有一种方法,很少有对象有多种方法。
P.S。通过“更好地工作”,我的意思是优化访问速度。
答案 0 :(得分:1)
您提到您使用的是Qt,object
实际上是QObject
。 Qt有dynamic properties,可以使用setProperty成员函数将数据附加到QObject的特定实例。
答案 1 :(得分:0)
我认为更好的设计是将name-&gt;数据分析放入您的对象中。因此,您可以直接向对象询问其支持的操作。这会更快,因为保存了一个地图搜索。