在我的程序中,iam使用CArray来存储一些值。但是,使用CArray成员函数时性能会很低。例如迭代CArray。由于性能低下,iam使用了诸如Copy,GetAt,Append等成员函数,因为iam决定使用CMap类而不是CArray。我的决定正确吗?有人解释吗?
最佳答案
看看这个:Recommendations for Choosing a Collection Class
我们不仅要根据性能来选择集合类。这取决于所需的数据结构类型,要对其执行的操作等。
既然您说过要“存储一些值”,那么我不会再复杂了。为此,可以使用CArray
或CList
。插入值时列表会更快,但不会建立索引。即您无法访问特定索引处的元素,而需要遍历该列表。CMap
比CArray
和CList
都快,但是如果您有一组复杂的数据结构(其中唯一键可用于索引每个元素),则最好使用它。