Кто знает о происхождении и причинах ++ postfix и sufix form. Я знаю, что они доступны даже в C. Но кто их изобрел; возможно, даже на других языках?Происхождение ++ postfix и prefix
ответ
Приводя из Wikipedia article on the B programming language:
«В также введены инкремента и декремента операторы (
++
и--
); Их префикс или положение постфикса определяет, будет ли принимать значение до или после изменения операнда. "
Я не вижу смысла дублировать всю статью в Википедии. Просто пойдите туда для более подробной информации.
Кстати, в то время как язык B, возможно, представил эти конкретные формы для операции увеличения и уменьшения, то маловероятно, что B также изобрел сами операции. Я подозреваю, что даже ранние процессоры имели выделенные операции увеличения и уменьшения (рядом с более общими операциями добавления и вычитания).
@ Bathsheba - обратите внимание, что вопрос отмечен C#/C++ (вместе с C), и нет возможности '++' является атомарным из-за возможности иметь пользовательские операторы ... –
В ассемблере для процессоров x86 есть функция INC , поэтому ++ может быть реализован как атомный –
От Dennis M. Ritchie, The Development of the C Language, HOPL II, 1993:
Например, В введены обобщенные операторы присваивания, используя х = + у, чтобы добавить к у х. Обозначение произошло от Алгола 68 [Wijngaarden 75] через Макилрой, который включил его в свою версию TMG. (В B и начале C оператор был записан = + вместо + =, эта ошибка, исправленная в 1976 году, была вызвана соблазнительно простым способом обработки первой формы в лексическом анализаторе B.)
Томпсон пошел шаг дальше, изобретая операторы ++ и -, которые увеличивают или уменьшают; их префикс или постфиксная позиция определяют, происходит ли изменение до или после значения операнда.
- 1. перегрузка операторов Postfix и prefix
- 2. racket postfix to prefix
- 3. Использование выражений postfix/prefix
- 4. Java: Prefix - Postfix issue
- 5. infix prefix postfix
- 6. Написание выражений: Infix, Postfix и Prefix
- 7. simple C++ loop prefix postfix operator
- 8. Переменные infix to prefix to postfix
- 9. Как выполняется оператор приращения postfix и prefix в выражении?
- 10. Перегрузка оператора ++ prefix/postfix в терминах друг друга?
- 11. Пояснения к сообщениям postix, infix и prefix
- 12. Google Apps и Postfix
- 13. Postfix transport_maps и virtual_mailbox
- 14. Logback appender и Postfix
- 15. Происхождение MSSqlLocalDB и ProjectsV ##
- 16. refresh_ce смысл и происхождение
- 17. Word2Vec и векторное происхождение
- 18. DESTDIR и PREFIX of make
- 19. В Makefile мы используем 'prefix' или 'PREFIX'?
- 20. Что делает параметр конфигурации PHP «--prefix = PREFIX»?
- 21. Перегрузка операторов префикса и Postfix в C#
- 22. Infix, prefix или postfix order trough BST, чтобы получить убывающий порядок отпечатанных элементов
- 23. Происхождение имен Python и Idle
- 24. Каково происхождение foo и bar?
- 25. JavaScript и 'то же происхождение'
- 26. Postfix Expression?
- 27. Postfix концепция
- 28. Postfix Folders
- 29. Learning Postfix
- 30. Оценка Postfix
На самом деле это не место, где можно задать философские вопросы об истории конкретных особенностей языка программирования. – Justin
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что этот вопрос легко ответить, посмотрев запись в википедии по этому вопросу. – Mithrandir
Как обычно, я спрашивал у Google о моих вопросах. Сегодня обнаружена википедия –