社区
C#
帖子详情
请教浅复制与深度复制的一个问题
智商无下限
2010-02-23 09:06:17
是不是浅复制所占的内存空间比深度复制少?
比如
object a ; object b;
假设 a的大小为 100M
如果 b=a;这样赋值的话,虽然也创建了b,但两个实例实质只占用了a的空间。 记 a,b的空间总和为 100M。
如果是
b = a.Clone();
则会占用 100M+100M的空间。
请问各位高手事实上是这样的吗?
...全文
135
7
打赏
收藏
请教浅复制与深度复制的一个问题
是不是浅复制所占的内存空间比深度复制少? 比如 object a ; object b; 假设 a的大小为 100M 如果 b=a;这样赋值的话,虽然也创建了b,但两个实例实质只占用了a的空间。 记 a,b的空间总和为 100M。 如果是 b = a.Clone(); 则会占用 100M+100M的空间。 请问各位高手事实上是这样的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
-汪帆-
2010-02-24
打赏
举报
回复
楼主的理解是正确的,不过忽略了一点:a,b,c...引用(变量)本身也是占内存的,它们的内存空间在栈里面。
智商无下限
2010-02-24
打赏
举报
回复
兔子-顾问
2010-02-24
打赏
举报
回复
浅表复制,是复制引用。深度复制是复制值。是的,你理解的对的。
bmwsl
2010-02-24
打赏
举报
回复
智商无下限智商无下限智商无下限智商无下限
智商无下限
2010-02-23
打赏
举报
回复
楼上两位的意思是
如果是 b=a 的这种赋值方式是不会增加内存开销的是吗?
如果 我同时又 c=a ,d=a.... 实际上也是相当于只占用了a本身数据的内存空间大小。
孤剑
2010-02-23
打赏
举报
回复
b = a.Clone();
这个不一定是 100 + 100M 简单,要看 clone 的具体实现,可以实现为深拷贝也可以是浅拷贝。
不过对于深浅拷贝的理解,差不多,浅拷贝就是无论多少对象都指向同一个内存地址,而深拷贝就是将原有对象进行复制,生成新的对象。
wuyq11
2010-02-23
打赏
举报
回复
浅拷贝是指将对象中的数值类型的字段拷贝到新的对象中,而对象中的引用型字段则指复制它的一个引用到目标对象。如果改变目标对象中引用型字段的值他将反映在原是对象中,也就是说原始对象中对应的字段也会发生变化。
asp.net知识库
一个
时间转换的
问题
,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP...
复制
一篇论文降重能过吗 快码论文
但需要注意的是,降重的效果会受到多种因素的影响,如原文与目标论文的相关性、原文的质量、降重的方法技巧等。因此,在进行降重时,需要综合考虑各种因素,以达到最佳的降重效果。但需要注意的是,查重工具的准确性...
全部
复制
粘贴的论文怎么降重
对于全部
复制
粘贴的论文,使用论文降重工具是
一个
不错的选择。除了使用论文降重工具,你还可以增加新的内容来提高论文的原创性。增加新的内容不仅可以提高论文的原创性,还可以使论文更加丰富和有
深度
。同时,他们也...
(
深度
学习)GPU比CPU慢?快看这里
GPU由于擅长矩阵运算,...我去Tensorflow官网上直接
复制
了一段代码,就是最简单的神经网络识别MNIST手写数字数据集。然后分别用GPU和CPU跑了以下,结果让我大吃一惊。之前听别人说用GPU通常会比CPU快好几倍,而我经...
(
深度
学习)为什么GPU比CPU慢?
我去Tensorflow官网上直接
复制
了一段代码,就是最简单的神经网络识别MNIST手写数字数据集。然后分别用GPU和CPU跑了以下,结果让我大吃一惊。之前听别人说用GPU通常会比CPU快好几倍,而我经过尝试发现GPU竟然比CPU...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章