2016-07-04 131 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