社区
C#
帖子详情
浅拷贝和对象引用的关系
jefflovejava
2008-12-12 09:49:28
谁知道浅拷贝和传递一个对象引用有什么不同?
...全文
203
9
打赏
收藏
浅拷贝和对象引用的关系
谁知道浅拷贝和传递一个对象引用有什么不同?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
quincystar
2008-12-12
打赏
举报
回复
学习了
愚痴鱼
2008-12-12
打赏
举报
回复
[Quote=引用 4 楼 jefflovejava 的回复:]
也就是说
SomeObject obj1 = new SomeObject(...);
SomeObject obj2;
obj2 = obj1.MemberwiseClone();
obj2 = obj1();
上面两个方式在编译处理的时候是一样的么??
[/Quote]
首先,你这个语法是不通过的,obj2 = obj1.MemberwiseClone(); 这句会出错;
MemberwiseClone是受保护方法,不能这样直接用;
浅拷贝就是拷贝了引用;
当你定义的类型里全是值类型时,这样做就是很方便的复制;如果你定义的类型里有引用类型,但是你后面的处理会忽视掉
这些引用类型不对它们进行处理,你也可以用浅拷贝,否则就要小心使用,避免一改全改;
jummy_lin
2008-12-12
打赏
举报
回复
浅拷贝本来就没有什么意义,并且危害很大。如果程序中因为浅拷贝造成逻辑错误,这种错误是很难跟踪的。所以使用引用类型的时候一定要慎重。
jefflovejava
2008-12-12
打赏
举报
回复
如果一样的话,浅拷贝的意义在于什么,比如有什么特殊的应用么?
jefflovejava
2008-12-12
打赏
举报
回复
笔误
obj2 = obj1;
jefflovejava
2008-12-12
打赏
举报
回复
也就是说
SomeObject obj1 = new SomeObject(...);
SomeObject obj2;
obj2 = obj1.MemberwiseClone();
obj2 = obj1();
上面两个方式在编译处理的时候是一样的么??
Fibona
2008-12-12
打赏
举报
回复
传递引用指针跟浅拷贝一样,如果你在方法中改变了对值的值,原来对像的值也会发生变化
cheng_er
2008-12-12
打赏
举报
回复
楼上说的是深浅拷贝的区别吧
wuyq11
2008-12-12
打赏
举报
回复
一值类型变量,一种引用类型变量。对于前者,copy是属于全盘复制;而对于后者,一般的copy只是浅copy,相当于只传递一个引用指针一样。
浅拷贝:只复制对象的基本类型,对象类型,仍属于原来的引用.
深拷贝:不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
浅拷贝和深拷贝区别:浅拷贝是指将对象中的数值类型的字段拷贝到新的对象中,而对象中的引用型字段则指复制它的一个引用到目标对象。如果改变目标对象中引用型字段的值他将反映在原是对象中,也就是说原始对象中对应的字段也会发生变化。
深拷贝和
浅拷贝
的区别
在 Java 中,拷贝
对象
主要有
浅拷贝
和深拷贝两种方式。
浅拷贝
仅复制基本数据类型和
对象
引用
,原始
对象
和新
对象
会共享
引用
;深拷贝则复制所有字段,包括
引用
对象
,两
对象
无共享
引用
。选择时需考虑
对象
引用
关系
,以避免副作用和内存管理问题。
Python中的深
浅拷贝
本文围绕Python展开,介绍了数据类型,包括不可变和可变数据类型,以及赋值操作。重点阐述了深
浅拷贝
,
浅拷贝
只能拷贝一层,深拷贝能拷贝多层。可变类型拷贝可开辟新内存空间,不可变类型拷贝
对象
引用
关系
。还提及了深
浅拷贝
的特殊案例。
python对内存有要求吗_浅谈Python对内存的使用(深
浅拷贝
)
本文解析了Python中
浅拷贝
和深拷贝的区别,通过实例展示了
浅拷贝
中
对象
引用
和内层数据的
关系
,以及深拷贝如何实现独立的
对象
复制。理解
浅拷贝
的内层数据共享,深拷贝的完全独立对于内存效率至关重要。
Python 直接赋值、
浅拷贝
和深度拷贝解析
本文深入探讨Python中的拷贝机制,包括直接赋值、
浅拷贝
和深拷贝的概念及其实现方式。通过实例分析,解释了不同拷贝方式下
对象
引用
与值的
关系
,以及它们如何影响内存中的数据。
python中的免拷贝 深拷贝
浅拷贝
详细介绍
Python中拷贝
对象
有免拷贝、
浅拷贝
和深拷贝三种方式。免拷贝直接用
对象
引用
,操作会影响原
对象
;
浅拷贝
创建新
对象
,仅拷贝第一层结构;深拷贝递归拷贝所有子
对象
,与原
对象
独立。选择合适方式可更好管理内存和
对象
关系
。
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章