其实vla的对象,是指针。每创建一个指针变量,就要开辟一片内存。 就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针是一个指示器,它告诉程序在内存的哪块区域可以找到数据。而局部变量在定义它的函数执行完后都会被系统自动删掉.(这还跟设置为nil值不一样) 动态分配是指针的关键技术。它是用来在不必定义变量的情况下分配内存和让指针去指向它们。 问题是:你动态地分配了一个内存空间,可它绝不会被自动删除。也就是说,这块内存空间会一直存在,直到你告诉电脑你已经使用完了。可结果是,你并没有告诉电脑你已不再需要这块内存空间了,所以它会继续占据着内存空间造成浪费,甚至你的程序运行完毕,其它程序运行时它还存在。当这样的问题积累到一定程度,最终将导致系统崩溃。所以这是很重要的,在你用完它以后,请释放它的空间. http://www.cnblogs.com/boylee/archive/2007/08/01/839036.html 所以你创建了这样一个对象最好要release它,最后收集内存垃圾。 |