最近我想实现隐式共享功能,就像 Qt 对它的QSharedData
和QSharedDataPointer
类所做的那样,所以我查看了它们的源代码,并QSharedData
找到了以下三行代码:
private:
// using the assignment operator would lead to corruption in the ref-counting
QSharedData &operator=(const QSharedData &);
但是我不明白如何operator=
破坏引用计数。
如果我只是没有将其设为私有并将其实现留空,它不会起到同样的作用吗?
即,如果我简单地写了这个:
public:
QSharedData &operator=(const QSharedData & ) { return *this; }