在我的程序中,我使用CArray来存储一些值。但是使用CArray成员函数时性能很低。比如迭代CArray。我使用了像Copy,GetAt,Append等成员函数,因为性能低,我决定使用CMap类而不是CArray。我的决定是否正确?有人解释一下吗?
答案 0 :(得分:2)
看看这个:Recommendations for Choosing a Collection Class
我们必须不仅根据性能选择集合类。这取决于您想要的数据结构类型,您想要在其上执行的操作等。
既然你说你想“存储一些价值”,我认为没有进一步的复杂性。为此,您可以使用CArray
或CList
。 插入值时列表更快,但未编入索引。即你无法访问特定索引处的元素,而是需要遍历列表。
CMap
比CArray
和CList
更快,但如果你有一个复杂数据结构的集合,那么最好使用它key可用于索引每个元素。