我是 Qt 初学者,需要编写一些数据类。QSharedDataPointer
像示例(此处)中那样编写所有这些类是否是一种好方法,或者这是否过多的开销(除了它更多的工作之外)?
我的课在性质上非常像下面的Employee
课。我将不得不处理数百个实例,而不是一万或数百万。
我使用 QSharedData / QShareDataPointer 的动机是简化手动内存管理并具有通用代码样式。但我仍然不确定我是否监督了一些警告。
从示例:
class EmployeeData : public QSharedData
{
public:
EmployeeData();
EmployeeData(const EmployeeData &other);
~EmployeeData();
int id;
QString *name;
};
class Employee
{
public:
Employee();
Employee(int id, const QString &name);
void setId(int id) { d->id = id; }
void setName(const QString &name);
int id() const { return d->id; }
QString name() const;
private:
QSharedDataPointer<EmployeeData> d;
};