2年ちょっと前にC++で書いた非侵入的参照カウント方式のスマートポインタ実装を発掘した. スマートポインタの実装にはC++の様々なマニアックな実装手法が隠れていて面白い. せっかくなので, 解説つきで晒すことにした. このスマートポインタはboost::shared_ptr (以下単にshared_ptr)相当のもので, 当時C++のコードを書かないといけない状況下で「boost使っちゃらめぇぇぇ!」とか言われたために, せめてshared_ptrだけでも抜き出して使おうとしたものの, 依存しているファイルの数が思ったより多くて面倒になったので, 1ファイルで完結する簡易実装を自分で書くことにした, という経緯で生まれたもの. 似たような状況では有用かも知れないし, shared_ptrのソースコードを読む助けにはなるかも知れないけれど, 基本的にはboostが使えるなら素直にshared
![スマートポインタのつくりかた - 貳佰伍拾陸夜日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/7f545d11c58b3deccd7e4ab1e68816263ea9eace/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51QX865WRYL.jpg)