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

1949idc 2年前 (2024-09-18) 阅读数 298 #编程语言

在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;
}

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业