boost::shared_ptrも参照カウント方式だけどスレッドセーフ。
あまり関係なさそう。
copy-on-writeはC++では当たり前のように使われる最適化手法
だな。