unique_ptr<X> f()
{
unique_ptr<X> p(new X); // or {new X} but not = new X
// do something - maybe throw an exception
return p; // the ownership is transferred out of f()
}
抛出异常时,为什么要关心对象 X 的存在,为什么要关心它占用的内存?
处理完异常,进程很快就会终止,内存也会被释放,我们为什么要关心这个呢?