深夜凄凉的句子:C++中的new和delete怎么用?还有heap的概念

来源:百度文库 编辑:高校问答 时间:2024/05/02 13:18:55
请详细讲一下,以及使用它们的好处

主要是要动态申请空间时,才会用new
而用了new,为了使用那个空间,就必须用一个指针指向它,如
int * a=new int(10) ;
用完删掉,如
delete a;

为了让指针指向他,就必须使用 指针名=new 对象名
new 是在堆中开辟内存空, delete 是释放内存空间

new 是在堆中开辟内存空间,类似C语言中的malloc函数
delete 是释放内存空间,类似C语言中的free函数

当编译一个C++程序时,计算机的内存被分成了4个区域,一个包括程序的代码,一个包括所有的全局变量,一个是堆栈,还有一个是堆(heap),我们称堆是自由的内存区域,我们可以通过new和delete把对象放在这个区域。你可以在任何地方分配和释放自由存储区。但是要注意因为分配在堆中的对象没有作用域的限制,因此一旦new了它,必须delete它,否则程序将崩溃,这便是内存泄漏.

来源:深度探索C++对象模型
-------
http://www.trainlinux.com/p/2002-11-19/6342.html

哈哈,都学得很好啊