例如int a[5][5];a,&a,a[0],&a[0],a[0][0],&a[0][0] 输出的都是一样的;
第1个回答 2017-09-01
引用类型是相对于值类型说的
值类型传递时,复制出一个新副本出来
引用类型不会复制出新副本,相当于指针,传递的是对象指针,对象的内存首地址,而不是整个对象。我的理解就是,类都是引用类型,和int/uint/byte这些都是值类型
int a = 10;
test(a); // 值传递 相当于 int b = a; 也就是 int b = 10;
object obj = new object();
test2(obj); // 引用传递
void test(int b)
{
....
}
void test2(object obj)
{
....
}
那些类对象有个方法名叫 Clone 也就是克隆,也就是因为 = 号只是引用传递,所以无法复制出一份副本出来,所以才需要和弄出了这个克隆函数,才能通过此方法复制出副本出来本回答被提问者采纳
值类型传递时,复制出一个新副本出来
引用类型不会复制出新副本,相当于指针,传递的是对象指针,对象的内存首地址,而不是整个对象。我的理解就是,类都是引用类型,和int/uint/byte这些都是值类型
int a = 10;
test(a); // 值传递 相当于 int b = a; 也就是 int b = 10;
object obj = new object();
test2(obj); // 引用传递
void test(int b)
{
....
}
void test2(object obj)
{
....
}
那些类对象有个方法名叫 Clone 也就是克隆,也就是因为 = 号只是引用传递,所以无法复制出一份副本出来,所以才需要和弄出了这个克隆函数,才能通过此方法复制出副本出来本回答被提问者采纳