找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1120|回复: 0
打印 上一主题 下一主题

浅谈PHP与C#的值类型指向区别的详解

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 08:21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            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#中 值类型的值是直接存放栈中的。而引用类型,引用地址是存放在栈中,实际的值则存放在堆中。根据栈的地址,找堆中的值.
            
            
您可能感兴趣的文章:
  • c# 值类型实例构造器
  • c# 引用类型和值类型
  • c# 引用类型与值类型的区别详解
  • 浅谈C# 中的可空值类型 null
  • C#引用类型和值类型的介绍与实例
  • C#值类型和引用类型的深入理解
  • c#字符串值类型与引用类型比较示例
  • c#值类型和引用类型使用示例
  • C#中值类型和引用类型的区别深度分析
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端