对于单个名称,它具有与x=Truey=xz=x但是(取决于编译器中的“优化”)可能更有效,因为它不(天真地)涉及重新加载存储到x.使用复杂的名称,可能会出现更复杂的行为:a[i]=i=j这会更新a[i](使用 old i),然后设置i为相同的值。这是否比a[i]=ji=j取决于算法的性质(它在概念上是否重要,因为它们以某种排列方式分配的索引?)以及是否i 只是j一个变量或实际上是一些不值得重复的复杂表达式。(当然可以写new_i=ja[i]=new_ii=new_i但请记住,额外的变量名称也会降低可读性——new_i稍后使用?)