0

ポートフォリオセレクターで使用される証券のプールを表すクラスを作成しています。目的のメトリックと制約に応じて、クラス オブジェクトはパフォーマンスの最適化のためにいくつかの関連データをキャッシュします。

これは、共通の要素とそのサブクラスを含む基本クラスを定義することによって実行できます。それぞれは、特定の目的のメトリック/制約に対して最適化されています。

ただし、複数のメトリックのデータをキャッシュする機能が必要です。これを行うための標準的/適切な方法はありますか?

編集:

class Pool {
    // Contains data for different financial securities
}

class PercentileLossPool : public Pool {
    // Contains data which makes calculating percentiles easy
}

class AvgProfitPool : public Pool {
    // Contains data which makes calculating averages easy
}

このクラス構造により、オブジェクトを特定のメトリック (パーセンタイル、平均) に最適化できます。

私が構築したいのは、すべての順列のコードを書くことなく、複数のメトリックに対して最適化されたオブジェクトです

4

1 に答える 1

1

継承を介してクラスにデータを追加することにより、関係を逆にすることを検討できます。

class PoolBase {
     // Contains data for different financial securities
};

class PercentileLossData {
    // Contains data which makes calculating percentiles easy
};

class AvgProfitData {
     // Contains data which makes calculating averages easy
};

template< typename... Ts >
class Pool : public PoolBase, Ts...
{
};

typedef Pool< PercentileLossData, AvgProfitData > MyPool1;

しかし、あなたが抱えている特定の問題に関する詳細な情報がなければ、有効なアドバイスを与えることは困難です. したがって、上記をアイデアとして考えてください。ただし、ユースケースに応じて、他にも複数のオプションがあることに注意してください。

于 2013-03-06T12:53:52.713 に答える