c++ - 自定义复制构造函数并添加一个字段

标签 c++ defensive-programming

<分区>

this 的拷贝.

在 C++ 中,有时您必须自己实现复制构造函数(当您通常将指针作为成员时)。编译器生成复制构造函数的缺点是,当您添加成员字段而忘记在复制构造函数中添加复制行时,您会遇到问题,这通常很难追踪。我喜欢防御性编程,这让我有点担心。

一种解决方案是使用 memcpy,然后正确处理指针,但据我所知,这是不鼓励的。

最佳答案

不要使用裸指针 - 如果需要,请使用智能指针来为您进行复制。 Yo 不再需要编写复制构造函数 - 我在过去五年中只写过一个。

关于c++ - 自定义复制构造函数并添加一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691336/

相关文章:

c++ - Eiffel 工作室中的 "Unable to store the editor layout information."

c++ - C++ 是否有像 npm、pip、gem 等这样的包管理器?

c - 如何维护结构定义与其构造/销毁代码之间的相关性?

TDD 与防御性编程

c# - C 中的 SortedDictionary

c++ - 如何创建全部继承自一个基类的对象列表

c++ - 如何在 Python 中检索程序输出?

exception-handling - 防御性编程和异常处理

c - 验证输入文件的内容

asp.net - User.Identity.Name 会抛出异常吗?