std::make_shared<int>(num) 和 std::shared_ptr<int> p1(new int(num));二者创建智能指针有什么区别
std::make_shared(num)和std::shared_ptrp1(newint(num))这两种方式都可以用于创建一个std::shared_ptr指向一个int类型的对象,并且都是在堆上分配内存。然而,这两种方式在内存管理方面存在一些差异:内存分配方式不同:std::make_shared(num)是一次性分配了一个包含对象和引用计数的连续内存空间,而std::shared_ptr