程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 淺談PHP與C#的值類型指向區別的詳解

淺談PHP與C#的值類型指向區別的詳解

編輯:關於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#中 值類型的值是直接存放棧中的。而引用類型,引用地址是存放在棧中,實際的值則存放在堆中。根據棧的地址,找堆中的值.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved