C++ Primer(第5版) 练习 12.10

练习 12.10 下面的代码调用了第413页中定义的process函数,解释此调用是否正确。如果不正确,应如何修改?

shared_ptr<int> p(new int(42));
process(shared_ptr<int>(p));
环境:Linux Ubuntu(云服务器)
工具:vim

 

解释
shared_ptr<int> p(new int(42));
//合法,内存会被释放。
process(shared_ptr<int>(p));
//修改后
process(p);
04-16 11:23