White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

C++でのnewの戻り値

プログラムかいてて、boost::shared_ptrで管理をするようになって、ユーザにはどうしてもnew演算子を使ってポインタを取り出してほしくなくなりました。

で、一番手っ取りはやい方法として、operator newをオーバロードできないかと考えたのですが、さすがにオーバロードした戻り値をvoid*型以外にするのはダメなんですね。

まあ、そんなことしないで、素直にhoge_ptr(new CHoge);とかやれよっていうかも知れませんが、それだとthisの代わりになるshared_ptrをコンストラクタで持つことができないわけで。