C++飞线图案
Flyweight Pattern in C++
创建轻量级模式时,通常如何存储超级对象。比方说我创造了一架飞机。
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,在这种情况下使用boost。
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 在C++中使用cURL和多线程
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在cuda线程之间共享大量常量数据
- 如何将元素添加到数组的线程安全函数?
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 异常属于C++中的线程还是进程
- C++中的线程安全删除
- C++使用params创建线程函数会导致转换错误
- 类与私有变量的其他类之间的线程安全性
- CoInitialize()在单独的线程上崩溃而不返回
- c++中的线程池
- 线程之间的布尔停止信号
- 为什么std::async使用同一个线程运行函数
- 用于矢量处理的多个线程
- C++飞线图案
- 带有Boost和外部数据源的飞线重量