在C++中,delete用于删除动态分配的单个对象,而delete[]用于删除动态分配的数组。
使用delete删除单个对象时,只会释放该对象占用的内存空间。而使用delete[]删除数组时,会首先调用数组中每个元素的析构函数,然后释放整个数组占用的内存空间。
因此,如果动态分配的是单个对象,则应使用delete来释放内存空间;如果动态分配的是数组,则应使用delete[]来释放内存空间。混淆使用delete和delete[]可能导致内存泄漏或程序崩溃。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:c++ delete数组和智能指针区别