c++初学者的疑问
刚学了 c语言 ,初学c++;
买了本钱能的 C++教程 ,看了 以后 觉得很难,现有以下问题 ,
向量(vector)到底是什么东西啊;我的水平限于C语言 ,想不出这到底是个数组还是个链表还是别的什么东西 ,做什么用的啊 ,请高人指点下,谢谢!
参考答案:我觉得你可以理解成是一个列表,而列表的每个节点就是一个数组。.NET Framework中有一个类叫ArrayList。
1〉Vector<T>类里面有一个指针指向一块系统分配的内存,这块内存就是Vector的存储空间;
2〉这个存储空间 / sizeof (T)就是我们说的容积
3〉我们可以在存储空间上分配数据,如向一个瓶子倒点水,叫体积
4〉我们只能访问已分配数据的地方,如只能访问体积中的水,对未分配数据的地方的访问是没有意义的
5〉当这块存储空间不足时,而我们又要在里面分配数据时,它会自动增大,即在另外的地方再分配些空间;或者再分配更大的空间,把现在的东西复制过去,再删除原来这块空间。相反如果是数组就不能增大了,是多大就多大。
6〉如果省略了容积这个概念,它看上去就像列表。