在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);
}
通過以上方式,可以很好地配合智能指針和引用傳遞,從而更安全、更方便地管理內存。