在C#中,看下面一段程序:
class A
{
public int value;
public A(int x)
{
value = x;
}
public void set(int x)
{
value = x;
}
}
如果有:A a1 = new A(1);
A a2 = a1;
a2.set(2);
Console.WriteLine(a1.value);
Console.WriteLine(a2.value);
那么会发现a1.value和a2.value都是2。----------------》C#中对象赋值是引用传递,没有创建新的对象。普通基本类型赋值是值传递,除非加了ref和out,那就是引用传递。
在C++中,看下面一段程序:
class A{
public:
A(int x){
value = x;
}
int value;