指针内存问题。 关于内存释放的。

下面的代码中,按道理说是内存消耗剧增。 可是在加了cout输出之后就不会增加. 这是为什么

 #include<iostream>
using namespace std;

int main()
{
    while(true)
    {
        int *p=new int(1000000000);
        cout<<"hello !"<<endl;
    }
    return 0;
}

应该是编译器优化掉了,或者内存分配是懒惰的,你加上
p[1000000000-1]=10;
程序一次循环都不运行就挂了。

有可能是内存申请失败了,请申请后先判断一下 p 是否为空、看看申请是否成功了。

p是否为空,估计后面没有分配内存了。