在c ++ 11 auto_ptr中,不推荐使用并且更加明智unique_ptr.唉,如果你使用boost::ptr_map的auto_ptr满足一个非常方便的使用方法:
std::auto_ptr<Layer> pLayer(new Layer());
mRawLayerPtrMap.insert(layerName,pLayer);
Run Code Online (Sandbox Code Playgroud)
是否有可能使用与c ++ 11类似的东西.我知道
Layer* pLayer = new Layer();
mFusedLayers.insert(fusedLayerName,pLayer);
Run Code Online (Sandbox Code Playgroud)
虽然auto_ptr有所作为,但它在一些更复杂的场景中有其优点.是否有适用于C++ 11的替代品?
怎么样
std::unique_ptr<Layer> pLayer(new Layer());
mFusedLayers.insert(fusedLayerName,pLayer.release());
Run Code Online (Sandbox Code Playgroud)