- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
最近我想实现隐式共享功能,就像 Qt 对其 QSharedData
和 QSharedDataPointer
类所做的那样,所以我查看了它们的源代码并代替了 QSharedData
我找到了这三行:
private:
// using the assignment operator would lead to corruption in the ref-counting
QSharedData &operator=(const QSharedData &);
但是我不明白 operator=
怎么会破坏引用计数。
如果我只是不将其设为私有(private)并将其实现留空,它是否可以达到相同的目的?
即如果我简单地这样写:
public:
QSharedData &operator=(const QSharedData & ) { return *this; }
最佳答案
QSharedData
的全部目的是维护引用计数。如果将一个分配给另一个,每一侧的引用计数应该发生什么变化?正如您正确确定的那样:没有。将一个 QSharedData
分配给另一个是没有意义的,因此明智的做法是在编译时阻止它。
关于c++ - QSharedData 和运算符=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15381288/
最近我想实现隐式共享功能,就像 Qt 对其 QSharedData 和 QSharedDataPointer 类所做的那样,所以我查看了它们的源代码并代替了 QSharedData 我找到了这三行:
我正在尝试使用 QSharedData 创建一个类型系统。这个想法很简单,会有许多不同的数据类型,每一种都将派生自基本抽象类。我想使用 QSharedData 将实际数据存储在它们中的每一个中,但是每
在我的 Qt 5.2.0 应用程序中我有一个不常见但相当一致的崩溃,我正在花时间诊断,但相信与 QSharedData 有关.该应用程序是高度多线程的,这可能是问题的一部分。 有问题的类在这里: cl
我有一个类,它有一些我想对调用者隐藏的数据成员(因为包括它们类型的 header 会显着增加编译时间,并且需要每个使用此类的项目添加一个额外的路径到它们的包含路径)。 这个类使用QSharedData
我是一名 Qt 初学者,需要编写一些数据类。像 QSharedDataPointer 示例 ( here ) 那样编写所有这些类是否是一种好方法,或者这是不是开销太大(除了工作量更大这一事实)? 我的
如何在 Qt 中隐藏私有(private)实现(隐式共享): 我的 Employee.h header 中有 Employee.cpp: #include #include class Emplo
我是一名优秀的程序员,十分优秀!