Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ++后缀和前缀的来源_C#_C++_C - Fatal编程技术网

C# ++后缀和前缀的来源

C# ++后缀和前缀的来源,c#,c++,c,C#,C++,C,谁知道++后缀和sufix格式的起源和原因。我知道它们甚至在C语言中也可以使用,但它们是谁发明的呢;甚至可能用其他语言?引用: B还介绍了增量和减量运算符++和-;它们的前缀或后缀位置决定值是在操作数更改之前还是更改之后获取 我认为复制整个维基百科的文章毫无意义。去那里了解更多细节 顺便说一下,虽然B语言可能已经为递增和递减操作引入了这些特定的形式,但B语言不太可能自己也发明了这些操作。我怀疑,即使是早期的CPU,在更一般的加法和减法运算之后,也有专门的递增和递减运算。来自Dennis M.Ri

谁知道++后缀和sufix格式的起源和原因。我知道它们甚至在C语言中也可以使用,但它们是谁发明的呢;甚至可能用其他语言?

引用:

B还介绍了增量和减量运算符++和-;它们的前缀或后缀位置决定值是在操作数更改之前还是更改之后获取

我认为复制整个维基百科的文章毫无意义。去那里了解更多细节

顺便说一下,虽然B语言可能已经为递增和递减操作引入了这些特定的形式,但B语言不太可能自己也发明了这些操作。我怀疑,即使是早期的CPU,在更一般的加法和减法运算之后,也有专门的递增和递减运算。

来自Dennis M.Ritchie,HOPL II,1993:

例如,B引入了广义赋值运算符,使用x=+y将y添加到x中。这个符号来自Algol 68[Wijngaarden 75],通过McIlroy,McIlroy已经将它合并到他的TMG版本中。在B和早期C中,运算符拼写为=+而不是+=;这个错误在1976年修复,是由B的词法分析器中处理第一种形式的一种非常简单的方法引起的

汤普森更进一步,发明了++和-运算符,可以递增或递减;它们的前缀或后缀位置决定更改是在记录操作数的值之前还是之后发生


这不是一个真正可以问一些关于特定编程语言功能历史的哲学问题的地方。我投票将这个问题作为离题来结束,因为这是一个很容易通过查看维基百科上关于这个主题的条目来回答的问题。就像我通常问谷歌我的问题一样。今天发现了维基百科。事后看来,我很喜欢这个问题。我编辑过它;希望能有所改善。所以我可以把我的反对票转换成赞成票;-我发现它产生的答案信息丰富。有一天,它可能会在一个酒吧测验中派上用场。@Bathsheba-注意,这个问题是用C/C++和C标记的,而且由于有自定义运算符的能力,++不可能是原子的……在x86处理器的汇编程序中,有函数INC,所以++可以实现为原子的