采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
操作发现,vector容量不变,存储数组数据的内存地址也不会发生变化。 如果代码中push,insert操作将会触法改变capacity时,又如何在开发时直接判断,容量的变化
vector容量是否变化取决于数组分配空间的策略,一般在使用层不用考虑细节,如果需要了解细节可以通过capacity方法来跟踪变化。
老师您看一下我下面的理解有没有问题: 我想vector是可以理解为class的吧。 那是不是可以认为,vector容器值其实就是数组数据这片内存空间可容纳的最大数据个数,当发现容纳不下是,vector中会有方法来重新申请一片空间存储数据,重写指针指向(地址变化也是因此发生) 而 vector容量变化也是取决于vector里的方法 不是的话,老师有没有什么资料可以帮助进一步理解的
基本是正确的,如果想更多了解vector的内存管理细节可以参看STL的源码,或者阅读《STL源码剖析》
非常感谢!
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.3k 12
1.4k 10
1.2k 9
1.1k 9