gpt4 book ai didi

c++ - C++ 享元模式

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:10 25 4
gpt4 key购买 nike

创建享元模式时,通常如何存储多余的对象。假设我创建了一架飞机。

class Aircraft
{
private:
char make[32];
char model[32];
double cruiseSpeed;
double cruiseAltitude;
double climbRate;
double wingspan;
double fuselageLength;

AircraftType craftType;

public:

Aircraft(void);
Aircraft(AircraftType);
~Aircraft(void);

void setMake(char*);
void setModel(char*);
void setCruiseSpeed(double);
void setCruiseAltitude(double);
void setClimbRate(double);
void setWingSpan(double);
void setFuselageLength(double);

char* getMake();
char* getModel();
double getCruiseSpeed();
double getCruiseAltitude();
double getClimbRate();
double getWingSpan();
double getFuselageLength();
};

还可以说我正在从 xml 数据表中读取许多飞机,所以我只想创建一个这些对象并将其余信息存储在某个地方。我是否会创建另一个管理享元信息的类,然后可能将它与 Aircraft 对象一起传递给它以一次输入唯一的实例?或者您是否会完全绕过将信息放入对象实例?

对于这种类型的对象,不创建多个实例获得的唯一效率是 get 和 set 吗?

最佳答案

查看boost flyweight implementation .完成后,只需使用 boost flyweight。

如果你不想使用 boost,在这种情况下使用 boost。

关于c++ - C++ 享元模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20486587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com