把握命运,追逐梦想

对自己所做的事要有兴趣,同时还要能够坚持不懈

统计

留言簿(1)

阅读排行榜

评论排行榜

VC 2008 sp1 中 deque的erase函数的问题

该函数在erase一个元素的时候,先复制最近端,例如该元素靠近前端,那么该元素之前的所有元素被复制,并后移拷贝,达到覆盖该元素的效果,导致最后Destroy的是第一个元素,析构函数也是第一个元素的,由于第一个元素被复制了,所以第一个元素如果没有拷贝复制函数来处理指针变量的话,那么之后第一个元素的副本中的指针将是错误的,而且同时有一个问题,我们想要destroy的那个元素的析构函数没被调用。

posted on 2011-04-22 09:02 把握命运 阅读(442) 评论(2)  编辑 收藏 引用

评论

# re: VC 2008 sp1 中 deque的erase函数的问题 2011-04-22 10:15 黑色天使

不是很准确。。。  回复  更多评论   

# re: VC 2008 sp1 中 deque的erase函数的问题 2011-04-22 10:17 黑色天使

如果清除点之前的元素个数比较少
拷贝清除点之前的元素
搬移完毕后清理第一个元素
else
拷贝清楚点之后的元素
搬移完毕后清理最后一个元素  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理