>>554-555
それでも結局 new Fuga の後 auto_ptr の構築前に operator new の呼び出しが
行われる可能性があるからダメ。

new の結果は常に名前つきのスマートポインタで保持するのが最善手。
http://www.boost.org/libs/smart_ptr/shared_ptr.htm#BestPractices
> A simple guideline that nearly eliminates the possibility of memory leaks is:
> always use a named smart pointer variable to hold the result of new.