私はQtの初心者であり、いくつかのデータクラスを作成する必要があります。QSharedDataPointer
例(ここ)のようにこれらすべてのクラスを作成するのは良いアプローチでしょうか、それともこれはオーバーヘッドが大きすぎるのでしょうか(作業量が多いという事実を除けば)?
私のクラスは、以下のクラスと非常によく似ていますEmployee
。1万や数百万ではなく、数百のインスタンスを処理する必要があります。
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;
};