gpt4 book ai didi

c++ - 什么时候提供用户定义的复制构造函数和赋值运算符?

转载 作者:太空狗 更新时间:2023-10-29 20:42:11 24 4
gpt4 key购买 nike

当我们有指针数据成员时,是否只需要编写复制构造函数和赋值运算符(否则当编译器生成的复制构造函数进行浅复制时,两个指针可能指向同一个对象)?

如果我们所有的数据成员都分配在堆栈上,我们可以只依赖编译器定义的复制构造函数和赋值运算符吗?

最佳答案

指针无疑是最明显的情况,但并不是唯一的情况。

另一个例子是在 ctor 中打开数据库连接并在 dtor 中关闭它的类。复制 ctor 需要做一些事情来复制数据库连接,因此拷贝与数据库的连接与原始连接分开关闭。

关于c++ - 什么时候提供用户定义的复制构造函数和赋值运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609477/

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