【发布时间】:2022-01-15 08:50:36
【问题描述】:
我正在开展一个项目,在该项目中为 MFC 类 CArray 创建迭代器类型会很有用。
由于CArray 是 MFC 库的一部分,我无权访问此对象。
我还没有完全了解创建迭代器,但据我所知,通常会创建一个迭代器类型作为迭代器对应的类类型的成员。换句话说,需要访问类本身。
是否可以为类创建“外部”迭代器。即:CArray 类的外部。
【问题讨论】:
-
CArray是一个连续的内存区域,不是吗?如果是这样,指向其元素 的指针就是 一个随机访问迭代器。无需做任何额外的工作。 -
CArray应该非常简单地包装在迭代器中:您所需要的只是对原始CArray对象的引用,以及迭代器的当前索引。