c++

僕が shared_ptr よりも retain() / release() 方式が好きだと思う理由

c++

それは、shared_ptr のようなラッパーよりも、オブジェクト自体が参照カウンタをもっているほうがコードが書きやすいから。たとえば、継承したクラスでオブジェクトの参照カウントをいじることは、shared_ptr では難しい。shared_ptr を使った場合: class B…

class definition is initialization パターンって言えばいいのかしら。クラスを定義するだけでインスタンスを自動生成する方法

C++

クラスを定義するだけで、そのクラスインスタンスが自動的に作られて登録されたりすると便利ですよね。たとえば、ビルド構成によって組み込まれるモジュールが変わる場合に、そのモジュールを Makefile に含めるだけで自動的サービスクラスが初期化されて登…

Boehm GCをC++のスマートポインタっぽく使う話

c++

C++のプログラムを書いててGCを使いたくなるようなケースにぶつかったことは、ここ数年ないんですが、Goの絡みで、そういえばBoehm GCをC++のスマートポインタっぽく使えたら便利なのかな、とか思った。書くとしたら、こんな感じだろうか。換言するならば、…