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

最佳答案

看看这个:Recommendations for Choosing a Collection Class

我们不仅要根据性能来选择集合类。这取决于所需的数据结构类型,要对其执行的操作等。

既然您说过要“存储一些值”,那么我不会再复杂了。为此,可以使用CArrayCList。插入值时列表会更快,但不会建立索引。即您无法访问特定索引处的元素,而需要遍历该列表。

CMapCArrayCList都快,但是如果您有一组复杂的数据结构(其中唯一键可用于索引每个元素),则最好使用它。

10-01 14:44