在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);
}
通过以上方式,可以很好地配合智能指针和引用传递,从而更安全、更方便地管理内存。