众所周知,如果我们使用new向系统申请了内存,我们应该使用指针指向这一块内存,俾能我们使用结束后,通过delete该指针释放此内存资源。
如果理解只达到这种程度,在内存管理稍微复杂一点时便一定会束手无策。总有一些事情比其他事情更基本一点,现在我来谈谈当我们new和delete之后到底发生了什么。
在C++中内存分为五个区:堆、栈、自由存储区、全局/静态存储区和常量存储区。
回到我们的主题。先看一段代码:
int *p = new int;
cout << *p << endl;//输出-842150451
cout << &p << endl;//输出004FFC14
*p = 1;
cout <
因篇幅问题不能全部显示,请点此查看更多更全内容