class Test{
public:
Test(int b):a(b){}
~Test(){}
private:
int a;
};
用std::shared_ptr管理资源时,常用的两种构造方式:
1.直接new
int main(){
std::shared_ptr<Test> p(new Test(1));
return 0;
}
2.使用std::make_shared
:
int main(){
std::shared_ptr<Test> p = std::make_shared<Test>(1); //1是传递给构造函数的参数
return 0;
}
我看一些人说是这两种方式在性能上有差异,大概意思是更推荐使用std::make_shared
去构建管理资源。