【问题标题】:Dynamic memory allocation Mechanism to a class object with list variables in c++C++中具有列表变量的类对象的动态内存分配机制
【发布时间】:2020-03-04 10:38:42
【问题描述】:

编译器如何为由list类型变量组成的类的对象分配内存,这些变量在程序执行时会随时间扩展?另外,编译器如何确保所需的内存量在需要时可用并防止内存泄漏?

【问题讨论】:

  • 编译器不负责进行或管理动态分配。
  • 请注意,列表节点并不直接存储在列表对象本身中。列表通常只存储指向第一个列表元素的指针。
  • 现在,如果我们想要对对象进行深拷贝,并为此使用“new”为类的新对象分配内存,那么分配的内存是否会有指向列表的指针在新变量中?因为如果我们释放该类的前一个对象,这将产生问题。
  • 不清楚你在问什么。如果您进行深层复制,则新对象不会引用旧对象。

标签: c++ memory-management dynamic memory-leaks


【解决方案1】:

编译器不会为列表分配内存。编译器只需要知道列表的数据类型。欲了解更多信息,请阅读此https://stackoverflow.com/a/58960527/2786098

【讨论】:

    猜你喜欢
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    相关资源
    最近更新 更多