我有一个功能:
(C++)
int a,b;
int getItself(int itself,int dummy)
{
return itself;
}
int a=10;
int b=20;
a=getItself(b,b=a);
(爪哇)
public static int getItself(int itself, int dummy)
{
return itself;
}
public static void main(String[] args)
{
int a = 10;
int b = 20;
a = getItself(b, b = a);
}
结果令人惊讶:C++ 不能进行交换,而 Java 可以!我不太明白为什么它会以这种方式发生。我认为两者都会首先将 b 复制到“本身”,将 a 设置为 b,然后将 b 复制到“虚拟”。
相关分类