c++中被释放的对象生命周期还有多久?就是对象已经通过析构函数释放,但是还可以访问这个对象,持续

什么时候才不能访问这个已经释放的对象。
2025-01-02 07:06:39
推荐回答(3个)
回答1:

如果对象或数组被释放,所占空间中的内容系统不会去清空,因为没必要,之后程序中的其他代码在需要分配内存的时候,这块内存很可能会被系统重新利用重新分配,被新的对象、变量或数组占用,并会被重新初始化。

因此当你释放一块内存后(包括对象、变量、数组等),没有被重新分配掉(数据没被破坏),还是可以通过指针访问,但是这是不安全的,你无法确定系统什么时候会分配掉,系统的内存分配机制很复杂,我们也没必要去关心它。

回答2:

生命周期终止于进入析构函数。存储期不确定。

回答3:

所以释放之后指针还要赋值null