找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1052|回复: 0

关于容器动态增长的问题

[复制链接]
发表于 2009-11-6 01:22:36 | 显示全部楼层 |阅读模式 IP:江苏扬州
vector容器的动态增长是新分配一个内存区,把原来已经被包含在容器中的元素拷贝到新分配的内存区中,再把原来的存储区释放.对于大型复杂类对象,插入一个此元素进vector中容器的容量为1,这意味着要是再动态增加一个复杂类对象元素,会重新分配一个容量为现在两倍的存储区,再把元素拷贝到新存储区,最后再释放原存储区.
这样容器的性能很低,因为每次动态增加一个元素,都要调用对象的拷贝构造函数和析构函数(在释放原存储区时用到),对此有一种解决方案是用指针间接存储复杂类对象,这样增加用指针指代的复杂类对象时,容器的容量会从1增加到256,这样就避免了每次都要重新分配新存储区.
问题是为什么用指针后容器容量会从1增加到256? 书上说只有容器存储int类对象时容器容量才会为256.
不知道说清楚没有?这个问题是 C++ primer第三版中 第6章 抽象容器类型第6.3节中出现的. 大虾帮忙解释一下.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 17:18 , Processed in 0.203235 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表