5

class Aとその派生クラスの両方で機能するメモリ プールを持つ共通のアルゴリズムまたは実装はありますか? 特定のクラス A に対してのみ O(1) で機能するメモリ プールを作成するのはかなり簡単です。たとえば、データの大きなチャンクを割り当てます。つまり、割り当てが必要になるたびに 110*sizeof(A)ブロックのサイズを割り当てます。sizeof(A)

より大きなサイズを持つ A の派生クラスも考慮することができる場合、そのような単純な実装はありますか? ありがとう

4

1 に答える 1

1

それは、シンプルの定義が何であるかに本当に依存します。ジャックが言ったように、派生クラスの最大のサイズを、メモリ プールである配列の要素サイズとして使用できます。これは間違いなく単純な実装です。

一部の型が最大の型の半分以下のサイズである場合、実装を変更して、互換性のあるインスタンスが占有しているスロットを 2 番目のインスタンスが占有できるようにすることができます。該当する場合は、クォーター サイズ タイプにも拡張できます。

于 2012-11-15T21:25:50.947 に答える