Я предполагаю, что «i» - это приращение, а «a» - это присваивание, но я не мог понять или найти ответ. Кроме того, он очень похож на нестандартный, itoa
что, на мой взгляд, сбивает с толку.
c++
naming-conventions
c++11
Джесси Гуд
источник
источник
iota
специально объявленный идентификатор <s> keyword </s>, значение которого увеличивается один раз для каждого определения, но только когда вы определяете константы.itoa
неразберихе; У меня была такая же мысль.Ответы:
Из исходной документации SGI STL :
В своей лекции по Премии Тьюринга Кен Айверсон (изобретатель APL) сказал следующее:
То
ι
есть прописная греческая буква йота .В приведенном выше цитате, я напечатал
ι
, U + 03B9, «ГРЕЧЕСКИЙ МАЛЕНЬКАЯ БУКВА IOTA» , но на самом деле Unicode имеет специальную кодовую точку для йота APL в:⍳
это U + 2373, «APL ФУНКЦИОНАЛЬНОГО SYMBOL IOTA» .В ответ на требования комментаторов я рассмотрю этимологию слова «йота» в этом контексте.
Наиболее вероятный ответ заключается в том, что Кен Айверсон хотел символ, который напоминал бы пользователю слово «целое число» и использование буквы «i» в качестве типичной целочисленной переменной, особенно для индексации массива.
Но предположим, что здесь есть более глубокий смысл.
Согласно Оксфордскому словарю английского языка, «йота» - это «название греческой буквы Ι, ι, соответствующей римскому I, i; наименьшая буква греческого алфавита »(наименьшая физически, а не в алфавитном порядке, как я полагаю), а также означает« наименьшую или очень маленькую частицу или количество ». Самое раннее известное использование этого значения в OED взято из Clavis mystica Дэниела Фитли в 1636 году:
Clavis mystica - это путеводитель по частям Библии, и это предложение, в частности, относится к Матфея 5:18. В версии Короля Иакова от 1611 года есть этот текст от Матфея 5:18 :
Транскрипция:
OED дает «iote» как другую форму «йота», которая (как и «йота») происходит от греческого слова «ἰῶτα», которое является греческим названием рассматриваемой буквы. Почему Фитли изменил «iote» на «йота»? К сожалению, у меня нет копии Clavis mystica в моей личной библиотеке, поэтому я не могу исследовать это дальше.
В оригинальном греческом тексте Матфея 5:18 «iote» означает «ἰῶτα», а «титул» (или, в более современном смысле, «титул») - «κεραία». Слово «κεραία» примерно означало «засечки» или «апостроф». Итак, этот библейский стих обращается к идее мельчайших деталей и использует «ἰῶτα» для обозначения буквы йота в ее роли как физически наименьшей буквы греческого алфавита.
Таким образом, мы можем сделать вывод, что функция STL
iota
и ее антецедент APL⍳
названы в Библии после физически наименьшей буквы греческого алфавита «ι», поскольку эти функции производят целые числа, разделенные наименьшим значением, на которое целые числа могут быть отделенным.Согласно Википедии , греческая буква йота произошла от финикийской буквы йуд.
Это настолько далеко от программирования, насколько я хочу сейчас ответить на этот вопрос.
источник
⍳
?Это греческая буква, которая иногда используется в математике для обозначения наборов чисел или единичных векторов. В случае C ++ вы получаете сконструированный набор векторов. Ничего общего с итоа.
источник
std::iota
заполнит диапазон итератора последовательно увеличивающимися значениями.Чтобы ответить на ваш конкретный вопрос, это на самом деле ничего не означает. Йота (произносится как «ай-о-ду» или «ай-о-ту» на английском) - греческое письмо с математическим подтекстом.
Это стандарт в C ++ 11, но не в более ранних стандартах.
источник
О, у меня всегда было впечатление, что, по
std::iota(start,end,0)
сути, это означаетfor(size_t i = 0; i < std::distance(start, end) ; i++) { start[i] = i; }
тогда вы по существу «присваиваете i» каждому элементу массива, а iota - греческое значение i, так что вот так.
(Я не удивлюсь , если это было обоснование выбора APL, упомянутые в @ robmayoff - х ответа , хотя я понятия не имею , что это ли дело.)
источник
Цитирую с этой страницы: iotashaming, где вы можете найти больше по этой теме.
источник