【发布时间】:2022-01-17 09:48:22
【问题描述】:
当您将一个指针重新分配给另一个指针时,您是否需要始终删除它, 示例:
int value = 5;
int* ptr{ new int{} }; // allocate memory
ptr = &value; // old address lost, memory leak results
我知道这有助于防止内存泄漏,但在所有情况下都建议这样做。是否有任何情况下在 ptr = &value 之前添加删除将删除一些有用的信息。 欢迎提供有关这种特殊情况的消息
【问题讨论】:
-
处理指针与文件句柄和某些变量引用的其他资源属于同一类别。有一种通用的方法来处理这些称为 RAII。看到这个:en.cppreference.com/w/cpp/language/raii
标签: c++ pointers new-operator delete-operator