我需要避免複製和破壞由this answer引起的std :: vector所包含的對象的額外成本。使用std :: vector構造一個對象並使用它
現在我使用它作爲std ::指針向量,但我不能在不刪除每個對象之前調用std :: vector :: clear(),也不能使用std :: auto_ptr和std容器。
我想要做這樣的事情:
vector<MyClass> MyVec;
MyVec.push_back();
MyClass &item = MyVec.back();
這將創建一個默認的構造一個新的對象,然後我可以得到一個參考,並使用它。
關於這個方向的任何想法?
已解決:我用@MSalters回答@ Moo-Juices建議使用C++ 0x rvalue引用來取得std :: move語義的優勢。基於this article。
是C++ 0x中給你,讓你可以採取的std ::利用移動語義的選項? – 2010-11-16 13:48:34