c++ - 为什么 C++ 接受一个变量的多个前缀而不是后缀

标签 c++ increment prefix decrement postfix-operator

在查看 Can you have a incrementor and a decrementor on the same variable in the same statement in c

我发现你可以在一个变量上有多个前缀递增/递减运算符,但只有一个后缀

例如:

++--++foo; // valid
foo++--++; // invalid
--foo++;   // invalid

这是为什么?

最佳答案

这是因为在 C++(但不是 C)中,++x 的结果是一个 lValue,这意味着它是可赋值的,因此是可链接的。

但是,x++ 的结果不是 lValue,而是 prValue,这意味着它不能被赋值,因此不能被链接。

关于c++ - 为什么 C++ 接受一个变量的多个前缀而不是后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11679493/

相关文章:

javascript - 如何使用js先递增0.5,然后递增1

css - 在 LESS 中生成供应商前缀

c++ - 将字符数组中的字符连接成一个整数

c++ - 如何在 C++ 中将整数常量乘以分数对象

java - 为什么我的计数器没有计数,并且我的 ArrayList 没有将新的整数值添加到数组中?

c++ - C 忽略增量

c++ - Makefile,循环依赖被删除,需要澄清

c++ - 为什么for_each通过move返回函数

algorithm - 如何对 32 位数字进行排序以查找唯一条目?

c - 使用树在C中进行霍夫曼解码