List类的clear()函数
-
最近编程要用到List类。看了下其中的clear()函数发现其只是让成员size变成0,成员指针指向的内存似乎没有清除啊?!这样不会很危险吗?
clear()函数的注释是这样的
//- Clear the addressed list, i.e. set the size to zero.
// Allocated size does not change
这里的Allocated size和size的区别是什么?
求大佬们赐教一波~ -
可以参照vector<>内存管理模式,网上很多资料。不清空内存是为了防止堆空间内存反复allocate和delete,防止重复调用系统资源,这样运行速度下降。allocated size是分配了多少空间,size是你用多少个空间。
double a[10] = {1,1,1};
类似这种,分配10个double空间,实际上只用了3个double空间,当然这使用的是栈内存。 -
此回复已被删除!
2020年11月5日 15:47
3/4
2020年11月6日 03:02