>>834
かっこ悪いかどうかを気にするんなら、
俺ならもっと単にシンプルにするな。

Hoge *HogeFactory::create();

こんだけ。もちろん、パラメータを取るオーバーロードメソッドも必要に応じてつくる。
XxxFactory::create()はXxx *を返す。これだけ。
vectorだの、shared_ptrなどは出てこない。

ファクトリ、というクラスの本懐を果たす。