4

在 c++11auto_ptr中已弃用并替换为更明智的unique_ptr. 唉,如果您使用boost::ptr_mapauto_ptr实现的非常方便的用途:

std::auto_ptr<Layer> pLayer(new Layer());
mRawLayerPtrMap.insert(layerName,pLayer);

是否有可能使用与 c++11 类似的东西。我知道

Layer* pLayer = new Layer();
mFusedLayers.insert(fusedLayerName,pLayer);

有效,但auto_ptr在一些更复杂的情况下有它的优点。是否有适用于 C++11 的替代品?

4

1 回答 1

8

怎么样

std::unique_ptr<Layer> pLayer(new Layer());
mFusedLayers.insert(fusedLayerName,pLayer.release());
于 2012-08-09T21:49:11.307 回答