加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 智能机器人、大数据、CDN、图像分析、语音技术!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

浅谈PHP与C#的值类型指向差异的详解

发布时间:2023-06-17 11:30:13 所属栏目:语言 来源:网络
导读:   PH和C#的值拷贝区别(如果哪里说的不对,还望指出!



  $a = 2;



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



  $a = 5; //这时php中
  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#中 值类型的值是直接存放栈中的。而引用类型,引用地址是存放在栈中,实际的值则存放在堆中。根据栈的地址,找堆中的值.

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章