或者说为什么要使用堆对象那。 使用堆对象跟只使用对象指针的区别在哪儿那。
在程序设计阶段不能确定需要用多少内存的情况,就需要用堆内存,在运行时动态分配。比如说,从文件读取数据并且处理,文件有大有小,数据有多有少。你静态分配,分配很多,白白浪费,分配很少,就不能处理大的数据量。
因为是动态分配的,所以必须使用指针访问。
你说的堆对象是指动态分配内存用new创建的对象,对象指针是指普通静态对象的指针吧。
与静态对象不同的是不需要事先确定对象所需内存大小,可以在程序运行过程中确定大小。
比如创建数组,本来事先要确定数组大小才可以创建,但是如果通过new可以运行是输入一个数作为数组大小来创建。这种通过new创建的对象要通过一个指针来访问。
作为指针本身来说,他们都指向了一个地址,不同的是,指向new创建对象的指针指向的是一块大小不确定的地址,直到程序运行才能确定,而静态对象的指针指向的是一个写程序是已经确定了的地址