QList什么时候会发生深拷贝?

2023-11-27

在我正在上的一堂课上,我正在同时处理几个问题QLists。我听说 Qt 尽可能不进行列表的深层复制。据我了解,这意味着执行此操作时不会发生深层复制:

QList<int> myList;
myList << 1 << 2 << 3 << 4;
QList<int> otherList = myList;  // No deep copy

在某些情况下,我需要确保深复制永远不会发生在QList。为了确保深度复制永远不会发生,我需要确保避免什么样的操作或动作?QList我正在和?


QLists 是使用实现的隐式共享.

隐式共享对象的对象分配(使用operator=())是 使用浅拷贝实现。

这意味着单独的赋值永远不会导致所包含的数据被复制。但是,写入共享实例will导致源对象被复制。这种模式通常称为写时复制。

因此,为了回答您的问题,如果您从不写入共享实例,那么它们将永远不会被复制。如果您想完全阻止复制,则从 QList 派生并覆盖并隐藏复制构造函数和赋值运算符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QList什么时候会发生深拷贝? 的相关文章

随机推荐

  • 如何在不破坏原数组的情况下对数组进行排序?

    我有原始数组 public static void main String arg int array 1 5 6 8 4 2 for int i 0 i lt array length i System out print List 1
  • 打开时默认状态为“未知”

    我经常看到人们使用OPEN未明确指定的语句STATUS 在 Fortran 90 和 2008 标准中 这是关于STATUS 如果指定 UNKNOWN 则状态取决于处理器 如果省略此说明符 则默认值为 UNKNOWN 我将其解释为 如果ST
  • 使用 XStream 从 XML 文件生成 Java 类

    我有很多 xml 文件 我想使用 XStream 来管理它们 是否可以使用 XStream 生成与我的 xml 文件相对应的 java 类 XStream是一个用于将 Java 对象序列化为 XML 以及从 XML 反序列化的软件 XStr
  • 提高性能的最佳方法(并包括某种故障转移)

    我们有一个应用程序正在运行 其中 IIS 和 SQL 在同一台计算机上 它是一个windows2003standard 服务器 在VM 上运行4gigs RAM 现在用户数量正在不断增长 还有一些巨大的统计数据 它们可以由用户运行 但对其他
  • C# 2.0 中的 HashSet 替换

    I using List
  • 无法从中央传输工件 org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 (http://repo1.maven.org/maven2)

    我在 SpringSource Tool Suite 中创建了一个新的 Maven 项目 我在我的新 Maven 项目中收到此错误 转移失败 org apache maven plugins maven surefire plugin po
  • 无需下载即可获取文件大小

    如何从 URL 获取文件大小 在 Flutter 中 我可以通过使用以下方式获得它 http Response response await http get url print response contentLength 但这会下载整个
  • Python:PyQt QTreeview 示例 - 选择

    我正在使用 Python 2 7 和 Qt 设计器 并且我是 MVC 新手 我在 Qt 中完成了一个视图 为我提供了目录树列表 以及用于运行事物的控制器 我的问题是 给定 Qtree 视图 选择目录后如何获取目录 代码快照如下 我怀疑它是
  • 扩展 Django 的通用视图

    我正在用 Django 编写我的第一个应用程序 但我遇到了一个问题create object通用视图 在我的urls py 我有 r new CreateView as view 问题是 当用户提交 新 表单时 我需要操作将保存到数据库的数
  • 使用 Java 的文件资源管理器 - 如何进行?

    我准备使用 Java 创建一个文件浏览器 目的是尽可能模仿默认浏览器的行为 无论底层操作系统是什么 我没有用 Java 做过任何 GUI 编程 我已经查找了 Swing SWT 和 JFace 并且我将通过本教程开始我的项目 http ww
  • window.navigator.userAgent 真的会被弃用吗?

    I just 在 MDN 上阅读关于window navigator userAgent 已弃用 此功能已从 Web 标准中删除 尽管某些浏览器可能仍然支持它 但它正在开发中 被丢弃 不要在旧项目或新项目中使用它 页面或网络应用程序 使用它
  • 使用 gdb/gdbserver 远程调试共享库

    我的问题是关于使用 gdb gdbserver 远程调试嵌入式 Arm 处理器上的应用程序 我可以调试应用程序本身 但应用程序动态链接到实现内部通信协议的共享库 我希望能够在共享库函数中设置断点 因此尝试找出一些设备发现问题 我已确保该库使
  • 将 RxJS Observable 收集到数组

    我想使用 RxJS 将异步事件世界与同步世界 桥接 具体来说 我想创建一个函数 它返回在某个时间间隔内收集的事件数组 我可以创建 Observable 来执行我想要的操作 var source Rx Observable interval
  • 无法识别“pip”[重复]

    这个问题在这里已经有答案了 我尝试安装PySide但我从 powershell 收到错误如下 pip The term pip is not recognized as the name of a cmdlet function scrip
  • 检测可移动介质的弹出/插入

    我正在开发一个项目 需要能够检测何时插入或移除 CD 或 USB 驱动器 我发现一些源代码本应执行此操作 但是 当我插入或弹出 CD 时 似乎没有任何反应 有人可以验证来源是否正确 并指出我在这里可能做错了什么吗 public class
  • 有人可以解释一下这个 C++ typedef 吗?

    我已经有一段时间没有使用 C 了 刚刚开始使用它 虽然大部分内容都有道理 但有些地方我发现有点混淆 例如 有人可以解释一下这一行的作用吗 typedef bool OptionManager OptionHandler const ABSt
  • Android 加速度计精度(惯性导航)

    我正在考虑为 Android 手机实现惯性导航系统 但我意识到考虑到加速度计的精度和读数的持续波动 这很难 首先 我将手机放在平坦的表面上 并在 X 和 Y 方向上采样了 1000 个加速度计读数 与桌子平行 因此这些方向上没有重力作用 然
  • pandas json_normalize 具有非常嵌套的 json

    我一直在努力normalize一个非常嵌套的 json 文件 我稍后将进行分析 我正在努力解决的是如何进一步深入正常化 我经历了pandas io json json normalize文档 因为它完全按照我想要的方式执行 我已经能够将其中
  • 按时间间隔聚合一个数据帧来自另一个数据帧

    我正在尝试聚合两个数据帧 df1 and df2 第一个包含 3 个变量 ID Date1 and Date2 df1 ID Date1 Date2 1 2016 03 01 2016 04 01 1 2016 04 01 2016 05
  • QList什么时候会发生深拷贝?

    在我正在上的一堂课上 我正在同时处理几个问题QLists 我听说 Qt 尽可能不进行列表的深层复制 据我了解 这意味着执行此操作时不会发生深层复制 QList