伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

4-3(vector的底层实现)

来源:本站原创 浏览:131次 时间:2022-03-07

vector表示的是可变大小的数组,但是其类型不确定,因为是模板类。所以其尾部没有\0,也就是不需要空一个位置存储\0。

其主要由3个指针控制其数组:

_start:��˳��,������指向其数组的首元素。

_finish:指向其数组有效元素的后一位,也就是size=_finish-_start.也相当于指向的是size位置。

_endofstorage:指向的是数组可以存储有效元素的后一位,也就是capacity=_endofstorage-_start;

也就是相当于指向的是capacity。

其主要操作是通过迭代器来实现的。

insert:再pos位置前面插入一个数据

erase:删除pos位置的数据,并返回删除元素的下一个元素位置。

vector里面没有find函数,如果想要使用find,得在algorithm库里面,find(v.begin(),v.end(),x);

如果找到返回位置,否则返回end();


迭代器失效问题:

主要由2个方面:

1、扩容:当迭代器指向了某个空间位置时,突然使用push_back 或insert等,使原来空间发生变化时,这时迭代器会失效。(也就是it是指向的旧内存空间被delete,而it还指向其旧空间)

2、erase:当删除迭代器所指元素时,此时的it会失效。需要重新赋值。

解决迭代器失效的办法就是将其重新赋值。

memcpy是浅拷贝,当拷贝自定义类型时,没有错,但是拷贝自定义类型时,就会出错。




  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net