【发布时间】:2015-09-01 12:05:38
【问题描述】:
一直在使用 boost 的disjoint_set。它有一个复制构造函数。据我了解,它使用在构造函数调用期间传递的指针来访问它的数据,并且它自己不管理内存分配。因此,当您进行复制时,不会复制实际数据(与复制std::vector<T> 时不同)。您会得到两个看似独立的实例(因为您没有使用引用),它们访问和修改相同的数据。这看起来很随意,用例也不清楚。
那么问题来了,为什么你会说disjoint_set的拷贝构造函数很有用,你为什么要创建一个返回实例的浅拷贝的拷贝构造函数呢?
【问题讨论】:
-
您想要关于
disjoint_set的答案,还是一般的答案? -
@SingerOfTheFall 是两个密切相关的东西?
标签: c++ copy-constructor