笔者不才,不知道什么原因想在vector里面探个究竟,所谓 “数组动态增长” 是个毛意思?
就自己胡思乱想编写了一个所谓的 “数组动态增长” 的例子,原来我们常用的 vector 也是
如此(对于那些被各种编译器实现了的 C++ STL,笔者这个玩意是一坨屎),是将申请
一个 “长度 + 1” 的空间,然后复制数据来实现,说到这里我想到我顽固的思维就认定我
使用 “array” 总是要预先定义长度。但是这样做也会带来个问题,如果我们不断的执行
“申请 - 释放 内存” 操作,会造成大量的内存碎片,这样如果不进行内存整理,急需一块
连续空间时就可能出现分配内存失败的情况,所以,这些工具还是要适当使用。
源代码上上下下的600来行,这里给出文件下载地址:
http://my.csdn.net/my/code/detail/28463