指针的引用
1)指针的引用作为函数参数,当实参指针被设置NULL,函数内部可以使用NULL来判断
#include <iostream>
void setNull(int*& ptr) {
ptr = nullptr; // 设置指针为 nullptr
}
int main() {
int* ptr = new int(10);
std::cout << "ptr: " << ptr << std::endl; // 输出指针的地址
setNull(ptr);
if (ptr == nullptr) {
std::cout << "ptr is nullptr" << std::endl; // 输出指针为 nullptr
}
delete ptr; // 清理内存
return 0;
}
2.使用智能指针shared_ptr
1)将一个指针赋值给另一个指针,也就是智能指针作为函数参数时候,引用计数会增加
当调用shared_ptr.reset()时候,并不会导致形参被设置NULL
3.对于单例模式还可以加标志变量识别。