ITPub博客

首页 > > > 关于c++的vector内存分配的问题

关于c++的vector内存分配的问题

作者:petterchx 时间:2019-09-23 09:55:10 0 删除 编辑

假如vector中存放100个string(不是指针类型string*,而是string),那么如果vector中的一个string重新分配空间,会不会造成整个vector重新分配空间呢?假如代码如下:

vector<string> *v1 = new vector<string>(100);

v1[20].append("abc");

假设最后一句使v1[20]字符串超出原分配空间,根据string类型的算法,这个字符串会重新分配空间并复制数据,因为它属于v1的,而v1中的元素必须是连续的,所以是不是它也将会造成整个v1重新分配空间并复制数据呢?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4606/viewspace-3154885/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-10-24

  • 博文量
    131
  • 访问量
    30132