CArray和CMap中的操作速度

时间:2012-07-11 03:57:31

标签: c++ mfc

在我的程序中,我使用CArray来存储一些值。但是使用CArray成员函数时性能很低。比如迭代CArray。我使用了像Copy,GetAt,Append等成员函数,因为性能低,我决定使用CMap类而不是CArray。我的决定是否正确?有人解释一下吗?

1 个答案:

答案 0 :(得分:2)

看看这个:Recommendations for Choosing a Collection Class

我们必须不仅根据性能选择集合类。这取决于您想要的数据结构类型,您想要在其上执行的操作等。

既然你说你想“存储一些价值”,我认为没有进一步的复杂性。为此,您可以使用CArrayCList插入值时列表更快,但未编入索引。即你无法访问特定索引处的元素,而是需要遍历列表。

CMapCArrayCList 更快,但如果你有一个复杂数据结构的集合,那么最好使用它key可用于索引每个元素。