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

avatar
作者
筋斗云
阅读量:0

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

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

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

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

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

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

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!