std :: iota的iota代表什么?

我假设“我”是增量,“a”是分配,但我无法弄清楚或find答案。 此外,它看起来非常类似于我认为令人困惑的非标准itoa

来自http://www.sgi.com/tech/stl/iota.html

iota的名字取自编程语言APL。

APL的发明人肯·艾弗森(Ken Iverson)在他的图灵奖演讲中说:

例如,由ι表示的整数函数在应用于参数n时产生前n整数的向量,…

ι是小写的希腊字母iota 。

在上面的引用中,我input了ι , U + 03B9,“GREEK SMALL LETTER IOTA” ,但是Unicode实际上有一个APL的iota的专用代码点: 是U + 2373,“APL FUNCTIONAL SYMBOL IOTA” 。

它的有时用于math的希腊字母表示数字或单位向量的集合。 在C ++的情况下,你得到一个构造的向量集。 与itoa无关。

std::iota将用连续递增的值填充迭代器范围。

要回答你的具体问题,实际上并不代表什么。 Iota (发音为“eye-oh-duh”)是一个带有math内涵的希腊字母。

它在C ++ 11中是标准的,但不在早期的标准中。

哦,我总是觉得自从std::iota(start,end,0)基本上代表了这个印象

 for(size_t i = 0; i < std::distance(start, end) ; i++) { start[i] = i; } 

那么你本质上“分配我”给每个数组元素,而iota是我的希腊语,所以在那里。

(如果这就是@ robmayoff的答案中提到的APLselect的理由,我不会感到惊讶,尽pipe我不知道是否是这种情况。)