array[i] = array[--size];
我知道变量 - 等于变量 - 1,但是什么是 --变量等于,当它在数组括号中时它有什么特别之处吗? 我想这会从数组中删除一些东西,我真的不明白这里的代码。
代码设置size = size - 1
,然后将元素复制到size
i
。
它简单地等同于:
size-=1;
array[i] = array[size];
您的代码与以下内容相同:
size--;
array[i] = array[size];
前缀递减与后缀非常相似,唯一的区别是它计算的是递减后的结果,而不是之前的值。
变量大小已在代码前面定义。 变量名称前面的 -- 会导致在执行该行代码之前减少 1。 例如,如果大小变量设置为 5,则在赋值发生之前,大小变量将减小到 4,然后执行 array[i] = array[4] 的赋值。
它只是这样做:
size-=1;
array[i] = array[size];
--variable
表示预减。也就是说,首先该值将递减,然后使用。
--
从变量中减去一个,但--
(或++
(的位置控制变量何时递减
array[--size]
在访问数组之前减去 1array[size--]
将在访问数组后减去一个
i-- 和 --i 基本上做同样的事情:它们从 i 中减去 1。不同之处在于,i-- 将在操作完成后减去 1,而 --i 将在操作之前减去 1。这在 for 循环的情况下更有意义:
for (i = 5; i > 0; i--) {...}
在这种情况下,for 循环将以 i 等于 5 运行,然后在循环结束时,它将重复,但减去 1。如果情况是这样的:
for (i = 5; i > 0; --i) {...}
在循环运行之前,我会从中减去 1,所以它会立即以 0 开始,但另一方面,当 i = 0 时,它也会在最后运行。
说--size
就像说size
减 1 的值。
array[index]
返回array
中index
位置的元素。
--value
表示将值评估为value = value - 1
,然后在操作中应用新值。