在C++中,智能指针通常用来管理动态分配的内存,以避免内存泄漏和悬空指针等问题。当与引用传递结合使用时,可以通过以下几种方式来配合智能指针:
void func(std::shared_ptr<int>& ptr) { // do something with ptr }
std::shared_ptr<int> createPtr() { return std::make_shared<int>(10); }
void func(std::shared_ptr<int> ptr) { // do something with ptr } void anotherFunc() { std::shared_ptr<int> ptr = std::make_shared<int>(10); func(ptr); }
通过以上方式,可以很好地配合智能指针和引用传递,从而更安全、更方便地管理内存。