您所在的位置:主页 > 电脑网络 > 编程教程 > PHP与C#的值类型指向差别

PHP与C#的值类型指向差别

更新:2013-12-07    编辑:菜蜂    来源:谷普网    人气:加载中...    字号:|

标签:类型  区别  指向  

   PH和C#的值拷贝差别(如果哪里说的不对,还望指出!)

  $a = 2;

  $b = $a; //在php中这里把b的地址指向a 所以b此时也等于2;差别就在这

  $a = 5; //这时php中a的值又重新写值,所以php核心这时才会把b重新分配一个地址,然后把a本来的值进行拷贝。这就是 写时拷贝 原理 , 也就是说,除非进行写操作,,否则值类型就是指向一个地址。

  而C#中。值类型的复制。永远都是新建一个地址 如:

  int a = 2;

  int b = a; //此时不管有没有进行a的二次写入。.NET都会把给b分配一个新的内存空间(值存在栈空间的)。然后再把a的值拷贝一份

  注意: C#中 值类型的值是直接寄放栈中的。而引用类型,引用地址是寄放在栈中,实际的值则寄放在堆中。根据栈的地址,找堆中的值.


本文链接:http://www.gpxz.com/diannao/biancheng/285404.html