首页 > 解决方案 > c++“删除”命令有些奇怪

问题描述

如果删除指针,为什么输出 5 5?(我是新人)

#include <iostream>
using namespace std;

int main(){
    int* i = new int(5);

    cout<< *i <<endl;
    delete i;
    cout<< *i <<endl;
    return 0;
}

标签: c++pointers

解决方案


删除不设置 0 或内存i指向的任何值。它只是将其标记为免费,以便以后可以使用它。这会导致未定义的行为


推荐阅读