C++中悬垂指针(delete后指针)仍然可以访问所指内存的问题
在指针被delete之后,此时指针被称为空悬指针或者悬垂指针,即指向一块曾经保存数据对象,但现在已经无效的内存的指针。
在C++编程中,当我们delete一个指针后,指针所指向的堆地址空间便被释放,指针值变成无效,该内存可以用于之后的内存分配。
但是虽然该指针已经无效,但在很多机器上该指针仍然保存着已经被释放了的动态内存地址(并且内存地址中的值也并未被擦除),因此此时该指针仍然能用于操作这块内存,但这么做是不合理的,也极度不安全。
因此,正确的做法是在使用delete了一个指针之后,及时将该指针置为nullptr
class Drived {
public:
Drived() {
std::cout << "

最低0.47元/天 解锁文章
519

被折叠的 条评论
为什么被折叠?



