当我这样做时:count = ++count; 为什么我会收到警告 - 分配给变量 count 无效?这意味着计数增加,然后分配给它自己或其他东西?它和 ++count 一样吗?count = count++ 会发生什么;? 为什么我没有收到警告?
问问题
7975 次
4 回答
14
count++
并且++count
都是count=count+1
. 分配是内置的,因此没有必要再次分配它。count++
(也称为postfix)和++count
(也称为prefix)之间的区别在于,++count
它将发生在该行的其余部分之前,并将发生在该行count++
的其余部分之后。
如果你要拆开count=count++
,你会得到这样的结果:
count = count;
count = count+1;
现在您可以看到为什么 postfix 不会给您警告:最后实际上正在更改某些内容。
如果你拆开count=++count
,你会得到这个:
count = count+1;
count = count;
如您所见,第二行代码没有用,这就是编译器警告您的原因。
于 2012-07-24T21:25:53.183 回答
3
打破你基本上是在写的陈述:
++count;
count = count;
如您所见, count=count 什么都不做,因此发出警告。
于 2012-07-24T21:27:21.703 回答
3
稍微扩展一下,count++ 是后缀。它发生在其他操作之后,所以如果你做了类似的事情
int a = 0, b = 0;
a = b++;
a 为 0,b 为 1。但是,如果你这样做了,++count 是前缀
int a = 0, b = 0;
a = ++b;
那么 a 和 b 都将是 1。如果你只是这样做
count++;
或者
++count;
那么没关系,但如果你将它与其他东西结合起来,它会
于 2012-07-24T21:34:11.933 回答
3
++ 运算符是以下的快捷方式count = count + 1
。如果我们打破你的线路count = ++count
,它会回应count = count+1 = count
于 2012-07-24T21:27:50.560 回答