前回 の続き。 用意した可変長バッファに、参照カウントを仕込みます。 しかし、単純に参照カウントを組み込むだけではつまらないので、一工夫。 参照カウントの部分を、それ以外の部分とは独立した部品として切り出してみます。 そうすれば、以降に参照カウントを使うクラスを作るときに楽できますし、可読性も上がります。 実を言うと既存の俺ライブラリにも、参照カウントを仕込むためのライブラリ reference_counter が存在します。 するのですが、こいつは delete 演算子でしか解放が行えません。 よって、メモリを char の配列で確保してから placement new を呼んでる今回は、残念ながら使うことが出来ません。 ですので今回は、解放処理に delete 演算子だけでなく、任意の deleter を指定できるようなライブラリ intrusive_hook を作ろうと思います。 と