第106章 ポリモーフィックアロケーター

 ポリモーフィックアロケーターのソースはちょっと長めですが memory_resource を指すポインターを保持し、そのポインターから allocate() 関数等にアクセスをすることができます。

 ポリモーフィックの意味はどの memory_resource を使うかをコンパイル時に固定しないで、ランタイムに決定できる性質を指します。

 基本的な使い方としては複数の memory_resource のポインターを用意しておいて polymorphic_allocator クラスのメンバーとして設定します。

116   template <class _Tp>
117     class polymorphic_allocator
118     {
//中略
244       memory_resource* _M_resource;
245     };

 つまり _M_resource がアロケーターの役割を持つってことで polymorphic_allocator はメモリー割り当てのインターフェースとなります。

Copyright 2018-2019, by Masaki Komatsu