簡體   English   中英

對於應用於序列的每個元素的函數,我可以使用什么術語,同時知道它的索引?

[英]What term can I use for a function applied to each element of a sequence, while aware of its index?

這是一個關於術語或概念(不是 C++ 概念)的問題。

如果我寫

std::for_each(my_start, my_end, f);

您會說我將函數、函子或函數對象f應用於范圍內的每個元素; f 的簽名是

void f(const decltype(*my_start)& x);

或者它有一個運營商

void operator()(const decltype(*my_start)& x);

現在,假設我做了同樣的事情,但該函數不僅獲得了對范圍元素的引用,還獲得了它的索引:對於 *my_start,它獲得 0,然后是 1 等等。現在簽名是

void f(size_t i, const decltype(*my_start)& x);
void operator()(size_t i, const decltype(*my_start)& x);

(如果你不喜歡size_t那么假裝它是int )。

所以,問題是:這些類型的函子/函數有術語嗎? 或者對於將這樣的函數/函子/函數對象應用於一系列元素的操作?

因此,根據@Andrew 的評論,讓我們將此操作稱為枚舉 foreach ,如果原始 f 是一元函數,我們可以將枚舉變體稱為枚舉一元函數,其第一個參數可以是enumerator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM