【发布时间】:2015-03-04 16:19:19
【问题描述】:
为什么不能链接运算符?
int test = 5;
test++++;
或
int test = 5;
++test++;
此代码给出编译时错误。
递增或递减运算符的操作数必须是变量、属性或索引器。
我完全理解,如果允许,这将是一种完整的代码味道,几乎没有实际用途。我不完全理解为什么这会导致错误。我几乎希望test 在每个语句之后的值是 7。
【问题讨论】:
-
你的意思是你不明白规范的哪一部分禁止它,或者为什么它是这样设计的?
-
是否有任何语言允许这样做?
-
@JonSkeet:为什么要这样设计?
-
@JonSkeet 我猜两者都有。我实际上可以看到的唯一用法是在 for 循环中替换
i = i + 2。 -
@Habib:是的,C++ 可以(不过,只有前缀版本,最多一个后增量)。参见例如rextester.com/OVXB28335