一点点的性病是什么意思?

我假设“ i”是增量,“ a”是赋值,但我找不到答案。此外,它看起来非常相似的非标准 itoa,我认为这是令人困惑的。

42859 次浏览

它是希腊字母,有时在数学中用来表示一组数字或单位向量。在 C + + 的情况下,您可以得到一个构造的向量集。跟 Itoa 没关系。

C + + iota既不是首字母缩写也不是首字母缩写。它是单词“ iota”,这是 希腊字母表中的第九个字母: Ι的英文拼写。字母的小写版本通常像英文字母 一样绘制,但是没有点。根据您的字体,衬线可能略有不同。

最初的 SGI STL 文档 给出了这样的解释:

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

Ken Iverson 创建了 急性粒细胞白血病(代表“编程语言”)。在他1962年出版的《 程序设计语言》一书的1.7个“特殊向量”中,他在第15页介绍了 something (iota)作为“区间向量”:

区间向量区间向量 Something[俄语](N)被定义为以 J开头的整数的向量。

在他的 1979年图灵奖讲座 “作为思想工具的符号”中,他对 APL 的功能作了如下描述:

例如,表示的 整数函数在应用到参数 n时产生第一个 n整数的向量,..。

所以最有可能的答案是艾弗森博士想要一个符号来提醒用户“整数”,“间隔”,以及使用字母“ i”作为一个典型的整数变量,特别是在数组下标时。遗憾的是,艾弗森博士于2004年去世,比这个问题提出的时间还早好几年,所以我们不能要求他给出更精确的解释。

顺便说一下,Unicode 有两个用于小写 iota 的代码点: 一个用于编写希腊语,另一个用于编写 APL。写希腊文的是 ιU + 03 B9“希腊小字母 IOTA”。编写 APL 的是 U + 2373“ APL 功能符号 IOTA”


为了回应评论者的要求,我将在这个上下文中进一步讨论“ iota”的词源。

但我们假设还有更深层的含义。

根据牛津英语词典,“ iota”是“与罗马字母“ i,i”对应的希腊字母的名字; 希腊字母表中最小的字母”(我猜是物理上最小的,不是按字母顺序排列的) ,也意味着“最小的,或者非常小的粒子或数量”。牛津英语词典对这个词的最早已知用法来自丹尼尔 · 费特利(Daniel Featley)在1636年写的 神秘锁骨:

我们是否应该失去,或者轻率地错过,上帝之书的任何一点点或一点点?

克拉维斯神秘主义将自己描述为“一个重要的开端,潜入圣经中困难而神秘的经文”,这句话特别指的是马太福音5:18。返回文章页面

matthew 5:18

转录:

因为我实在告诉你们,直到天地过去,一个赌注或一个头衔,都不能从律法上过去,直到一切都应验了。

在马太福音5:18的原始希腊文中,“ iote”是“ something something τα”,“ title”(或者更现代一点,“ title”)是“ κεραα”。“ κεραα”一词大致意思是“衬线”或“撇号”。所以这段圣经经文提到了 最小的细节的概念,并且使用 something something τα 来指代作为希腊字母表中物理上最小的字母的 iota。

费特利,作为一个圣经学者(他获得了神学博士学位) ,无疑可以阅读希腊文。我猜他只是把这个字母的希腊文名字,就是“韧 something τα”音译成了英文的“ iota”。他为什么不按照詹姆斯国王的译文拼写“ iote”?我不知道。

因此,我们可以推断 STL 函数 iota及其 APL 先行词 ,通过圣经的方式,以希腊字母“ ι”的物理上最小的字母命名,因为这些函数产生的整数被整数可能被分开的最小数量分开。

根据 Wikipedia ,希腊字母 iota 来自腓尼基字母 y dh。

这是编程的最远领域,因为我目前希望去这个问题。

std::iota将使用逐次递增的值填充迭代器范围。

为了回答你的具体问题,它实际上不代表任何东西。Iota (英语读作“ eye-oh-duh”或“ eye-oh-tuh”)是一个具有数学内涵的希腊字母。

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

我一直以为 std::iota(start,end,0)基本上就是

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

然后你实际上“赋值 i”给每个数组元素 iota 是希腊语的 i 所以这里。

(如果@robmayoff 的 回答中提到的 APL 选择的理由是这样,我不会感到惊讶,尽管我不知道是否是这样。)

我从这一页引用: 真丢脸在那里你可以找到更多的主题。

STL 在很大程度上受到了肯 · 艾弗森 APL 工作的影响。在1979年肯的图灵奖演讲中,你会发现这样一句话:

例如,ι 表示的整数函数产生前 N 个整数的向量

std::iota-这是一个标准的函数模板在 <numeric>头(不在 <algorithm>)可从 C + + 11。

它对于在范围[ first,last ]中生成一系列连续的递增值(+ + val)非常有用。

std::list<int> li(5);
std::iota(li.begin(), li.end(), 3); // 3 4 5 6 7