(注意:我并不是在询问C/C++中前置/后置递增的定义,或它们在代码中如何使用。因此,我不认为这是重复的问题。)
C语言的开发者(Dennis Ritchie等人)之所以创建了递增和递减运算符,是有非常好的原因的。但我不明白的是,为什么他们决定创建前缀和后缀递增/递减的区别?
我的感觉是,当C语言正在开发时,这些运算符要比现在更有用。大多数C/C++程序员使用其中一种,而来自其他语言的程序员今天会觉得这种区别很奇怪和令人困惑(注:这仅基于个人经验的陈述)。
他们为什么要这样做,计算机的什么改变使得这种区别现在不那么有用了呢?
值得记录的是,两者之间的区别可以在C++代码中看到:
int x = 3;
cout << "x = 3; x++ == " << x++ << endl;
cout << "++x == " << ++x << endl;
cout << "x-- == " << x-- << endl;
cout << "--x == " << --x << endl;
将作为输出结果呈现
x++ == 3
++x == 5
x-- == 5
--x == 3
任何傻瓜都可以编写计算机能理解的代码。好的程序员编写人类能理解的代码。~Martin Fowler
- v.oddou