温馨提示×

如何在C++中使用delete关键字释放指针

c++
小樊
133
2024-09-13 02:52:11
栏目: 编程语言

在C++中,delete关键字用于释放动态分配的内存

  1. 使用new关键字为指针分配内存。例如,为一个整数分配内存:
int* ptr = new int; 
  1. 使用delete关键字释放指针所指向的内存。确保在释放内存之前不要访问该内存,因为这可能导致未定义的行为。
delete ptr; 
  1. 将指针设置为nullptr以避免悬空指针。悬空指针是指向已释放内存的指针。
ptr = nullptr; 

注意:在释放指针所指向的内存后,不要再次使用delete释放相同的内存,因为这会导致未定义的行为。

示例代码:

#include <iostream> int main() { int* ptr = new int; *ptr = 42; std::cout << "Value of ptr: " << *ptr << std::endl; delete ptr; ptr = nullptr; // 避免再次使用已释放的内存 if (ptr == nullptr) { std::cout << "Memory has been released." << std::endl; } return 0; } 

0