【发布时间】:2013-12-03 11:22:31
【问题描述】:
我想在 C 中实现一个快速失败的迭代器,即如果列表应该失败 在迭代时被修改。
失败的位置肯定在 hasNext 和 next 方法中,我将在其中检查自迭代器创建以来的修改次数。所以我想我知道它什么时候应该失败,但我不知道它应该如何失败。
我考虑过 assert() 但它仅用于调试,可以吗?以及如何进行单元测试? 我最关心的是找到一种方法来对这个功能进行单元测试。
// List Methods
List* List_new(void);
void List_delete(List** self);
int List_add(List* self, void* data);
size_t List_size(List* self);
void* List_head(List* self);
int List_removeHead(List* self);
ListIterator* iterator(List* self);
// ListIterator Methods
bool ListIterator_hasNext(ListIterator* self);
void* ListIterator_next(ListIterator* self);
【问题讨论】:
标签: c design-patterns iterator