gpt4 book ai didi

C++类复制(指针复制)

转载 作者:可可西里 更新时间:2023-11-01 15:36:09 25 4
gpt4 key购买 nike

据我了解,当您复制定义指针变量的类时,会复制指针,但不会复制指针指向的数据。

我的问题是:在这种情况下是否可以假设“指针复制”只是实例化一个相同类型的新指针(动态内存分配)?例如,新指针只是一个包含任意内存地址的新分配,应该注意将新指针指向适当的内存地址吗?

我想这个问题有一个非常简单的答案,对于它的琐碎性质我深表歉意,但我试图在更深层次上理解指针,这是我在互联网上研究指针时想到的。

问候,

乍得

最佳答案

指针将被简单地复制为一个值——因此两个类将指向相同的原始内存,不会发生新的分配。 浅拷贝 - 这是该语言默认执行的操作。

如果您需要分配新内存并复制数据,您必须自己在复制构造函数中执行此操作。 深拷贝 - 你必须自己做

编辑:这是C++的优点之一,你可以自由决定复制的方式。可能是只对内存进行读取访问的对象拷贝可以避免复制内存的成本。如果新对象需要写入,您还可以实现仅复制原始数据的类。

关于C++类复制(指针复制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com