c++ delete报错的原因有哪些

c++
886
2024/5/20 17:08:23
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

  1. 尝试删除一个已经被删除的对象:当使用delete关键字删除一个指针所指向的对象后,再次使用delete关键字删除同一个指针所指向的对象会导致报错。

  2. 尝试删除一个栈对象:当尝试使用delete关键字删除一个在栈上创建的对象时,会导致报错。

  3. 尝试删除一个指向非动态分配内存的指针:只有使用new关键字动态分配的内存才可以使用delete关键字释放,如果尝试使用delete关键字释放一个非动态分配内存的指针,会导致报错。

  4. 尝试删除一个指向数组的指针时未使用[]操作符:如果删除一个指向数组的指针时未使用[]操作符,会导致报错。

  5. 在多线程环境下使用delete:在多线程环境下使用delete关键字可能导致并发问题,进而导致报错。

  6. 内存泄漏:如果程序中存在内存泄漏,即没有释放已分配的内存,当使用delete关键字时会导致报错。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++中vector的用法是什么