stlのvectorで大きなオブジェクトを生成後、追加していきたいのですが

BigObj obj; // と一旦作って
obj.hoge = moge;
obj.hoge2 = moge2;
... と色々変更して

最後にpush_backするとコピーの手間が余計な気が済ます
あらかじめ確保されたvectorの領域を直接書き換えられないでしょうか?

array.reserve(適当);

BigObj &obj = array.end();
obj.hoge = moge;
array.resize(array.size()++);

とか、あんま美しくないんですけど、他にやる以外方法ないんでしょうか?