2016-07-04 67 views
0

假设我有一个Iterable接口:这个成语叫什么?

template<typename T> 
struct Iterable 
{ 
    virtual bool MoveNext() = 0; 
    virtual T& GetCurrent() = 0; 
}; 

然后,我有一个实现了Iterable接口的类。称它为FileList。它代表FAT16系统上的文件列表。由于我的微型控制器上的内存有限,而不是FileList实际上在调用GetCurrent时存储了一个文件列表,它从它正在访问的SD卡抓取文件。

所以我的问题是:

什么是习语我只是预制的调用(如果它甚至是存在一个成语)?

+3

如果我理解正确,它似乎是一个惰性迭代器。 – jweyrich

+3

如果你正在编写C++,这个习惯用法的名字是“一个错误”。如果您在标准库中的概念上为迭代器建模,则可以使用它们与所有标准算法。这必须是一场胜利。 –

+0

@RichardHodges因为我在微控制器上(正如问题中提到的那样),我无法访问C++标准库,因为它会占用我所有的内存。 – DarthRubik

回答

-1

有时它被称为发电机。

+1

这总是一个答案,或者只是有时? – KABoissonneault

+0

如果你有什么要备份你的声明,那很好 – DarthRubik

+0

https://en.wikipedia.org/wiki/Generator_(computer_programming) – T33C