我可以对应用于序列的每个元素的函数使用什么术语,同时知道它的索引
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是一元函数,我们可以将枚举变体称为枚举一元函数,它的第一个参数可以是枚举器。
相关文章:
- 我<< " n" [ i == n ] 术语<<在做什么?
- 使用前向材料(而不是双向术语)在硬件级别上做什么
- 我称之为接口的正确编程术语是什么
- 仅用于内部目的的类的所有变量/成员的技术术语是什么
- 我可以对应用于序列的每个元素的函数使用什么术语,同时知道它的索引
- 你用##来称呼宏或术语是什么
- 术语"attribute"在解析器的上下文中是什么意思?
- 用于将 void 指针强制转换为指向类型的指针的操作的术语是什么
- 具有不同参数的继承类构造函数的术语是什么
- 返回某些内容作为 out 参数的正确术语是什么?
- 术语"exception strong"和"exception neutral"是什么意思?
- 什么语言创造了左值这个术语?
- 将本地人和临时人员存储在C++中的存储术语是什么?
- 构造函数的使用术语是什么
- ->、->* 和 .* 运算符的正确术语是什么?
- c++中非函数指针的恰当术语是什么?
- 在[expr.static.cast]/4中,术语"一个可行函数"指的是什么
- DWORD、LPTSR、LPBYTE、HANDLE这些术语是什么意思
- 对象寿命相关;下面的问题不存在一个术语/模式什么的吗
- 什么是工具类?(术语来自Qt文档)