c++中stdmake_shared用法和概念
在C++中,std::make_shared是一个函数模板,用于创建一个std::shared_ptr对象并初始化它所指向的对象。
std::make_shared函数的用法如下:
template<class T, class... Args>
shared_ptr<T> make_shared(Args&&... args);
其中,T是所创建的对象的类型,Args是该对象的构造函数所需要的参数列表。函数返回一个指向该对象的std::shared_ptr智能指针。
使用std::make_shared可以避免手动分配内存和管理内存的问题,它可以自动管理所创建的对象的生命周期。此外,std::make_shared还可以提高性能,因为它可以将内存分配和对象构造合并在一起,从而减少了内存分配和构造的次数。
需要注意的是,std::make_shared并不适用于所有情况,例如当需要使用自定义的删除器时,就不能使用std::make_shared,而需要手动创建std::shared_ptr对象。
原文地址: http://www.cveoy.top/t/topic/hlLc 著作权归作者所有。请勿转载和采集!