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我不知道是否是这种情况。)