问题标签 [shallow-copy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 哈希集的浅拷贝
最好的方法是什么?
像这样使用 foreach 遍历集合。
或者使用类似这样的联合。
c# - 创建 EntityObject 子类的浅拷贝/克隆
我们的数据库中有一个审计表,更新时新旧值被序列化为 XML 并存储在同一行中。这些对象当前被深度克隆,因此:
虽然这可行,但由于从深度克隆中提取的相关记录,它会生成大量数据,从数据库中读取数十万次,dcSer.WriteObject(memoryStream, obj)
最终 MemoryStream 大小约为 200MB,更不用说正在写入的数据量回到数据库。不理想。
所以我想做一个成员克隆,因为我的理解是成员克隆会将对象引用排除在外,并避免复制所有相关的实体框架模型。
所以我这样做了:
但我得到一个无效的强制转换异常,因为传入的实际类型EntityObject
是与表本身相关的子类。
我也尝试过使用扩展方法来访问MemberwiseClone()
,但是扩展方法无法访问受保护的方法。
那么,如何创建通用 EntityObject 的浅表副本?
c++ - 复制构造函数 c++ 奇怪的行为?
嗨,我有一个包含数组的类,我没有通过我的类构造函数传递它(这里可能会出错吗?)数组只是在类中定义,然后在读取方法中初始化。
但总的来说,我制作了一个类的实例,例如:
然后做:
现在我在第一个类实例上使用冒泡排序方法,例如:
现在,当我在排序后将这两个实例都写成文本时,它们都被排序了吗?
我读过浅拷贝和深拷贝,但我不明白为什么在浅拷贝之后调用的方法会导致它们都被排序?这是预期的行为吗?
更多信息:
在我的课堂上,我只是将数组定义为:
然后在 write 方法中我将 5 个元素写入它,有没有更好的方法来做到这一点,但我必须使用一种方法来初始化它。
c# - 在 c# 中,Array.ToArray() 是否执行深度复制?
这应该是一个非常基本的问题,但我一直很难找到一个明确的答案。
当您有一个值数组并使用该.ToArray()
方法时,它会创建数组的深副本还是浅副本?
c++ - 二叉树的深拷贝构造函数
我正在尝试在 C++ 中创建我的二叉树数据结构的深层副本。问题是我使用的代码似乎只给了我一个浅拷贝(这似乎导致我的解构器出现问题)。
下面的代码是我的二叉树复制构造函数:
任何帮助,将不胜感激。谢谢
这是引发内存异常的解构函数(我相信这是因为我在上面做的浅拷贝)
c++ - octave C++ api中的浅矩阵构造
有没有办法在octave的C++ api中从指向数据+大小的指针构造一个矩阵(即,不使用深拷贝)?可能是一种未记录的不安全方式,调用者必须管理相应的内存,或者一种将指针分配给数据的方式?我唯一能找到的是 dMatrix.h 中的一个方法,但它是私有的:
与 Array.h 相同,指向数据的指针似乎是私有的。
c# - 自定义 C# 对象的浅拷贝
我正在处理一些用 C# 编写的代码。在这个应用程序中,我有一个自定义集合,定义如下:
在我查询我的数据库并填充一个 ResultList 后,我将它存储在内存缓存中。这样我就不需要每次都访问我的数据库。这种方法第一次奏效。但是,在后续加载时,它不起作用,因为从缓存中提取的 ResultList 已更新。我怀疑是因为正在发生深层复制。
如何获得 ResultList 的浅表副本?
c++ - 我可以防止复制构造函数有一些例外吗?
我会用std::map<int, A>
A
是一个类,我必须防止浅拷贝,但是有很多类A
,所以制作一个深拷贝结构和运算符很烦人。由于我似乎不必使用复制构造函数和复制赋值运算符,所以我决定不使用它们。
为了防止一些错误,我创建了 UnCopyable 类,它具有私有的复制构造函数和复制赋值运算符,并A
继承了它。
但是,有一个问题。std::map
使用复制构造函数。
我不想将A
' 指针保存在地图中。
更好的解决方案是什么?
c# - 从委托构造委托。新的代表指向什么?
考虑以下:
a2 指的是什么?它是 a1,a1 的浅拷贝还是 a1 的深拷贝?
java - 使用 JGIT 进行浅克隆
我该怎么做
与 JGIT 库?