欢迎来到天天文库
浏览记录
ID:57863222
大小:198.50 KB
页数:14页
时间:2020-09-02
《C++-STL之vector容器的用法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++STL之vector容器的使用方法1成员类型12vector的构造函数22.1右值和引用32.2初始化列表构造函数32.3赋值函数53容量相关的函数53.1size函数63.2max_size函数63.3resize函数63.4capacity函数73.5reverse函数73.6empty函数83.7shrink_to_fit函数84vector元素获取函数84.1[]操作符函数94.2at函数94.3front函数94.4back函数94.5data函数C++1195vector中修改元素
2、的函数95.1assign函数95.2push_back函数105.3pop_back函数105.4insert函数105.5erase函数115.6swap函数125.7emplace函数(C++11)125.8emplace_back函数136关于分配器的函数137关于迭代器的函数14Vector本质上也是数组,它和array的区别是array的长度大小固定,而vector是容量可以动态变化的数组。当有新元素插入时,需要重新非配内存,这会造成时间上昂贵的开销,但是实际上,vector实际上被分配
3、一些额外的存贮空间以应对元素个数增长,因此vector实际容量的大小比它应该包含元素所需的内存大些。库函数都用相对应的策略来应对时间上的消耗以及空间的分配,当元素在末尾插入时,由于额外存储空间的原因,消耗的时间是常量复杂度,只有当插入的元素城指数增长时,才需要重新分配内存。相对array来讲,由于vector增加了动态分配内存,所以vector在需要更多的内存。相对list,deque,forward_list,vector由于是顺序存储,所以其访问速度比这些动态分配内存的容器快,在末尾添加和删除元
4、素也相对较快,1成员类型allocator_typeAtypethatrepresentsthe allocator classforthe14vectorobject.const_iteratorAtypethatprovidesarandom-accessiteratorthatcanreadaconst elementinavector.const_pointerAtypethatprovidesapointertoa const elementinavector.const_referenc
5、eAtypethatprovidesareferencetoa const elementstoredinavectorforreadingandperforming const operations.const_reverse_iteratorAtypethatprovidesarandom-accessiteratorthatcanreadanyconst elementinthevector.difference_typeAtypethatprovidesthedifferencebetwee
6、ntheaddressesoftwoelementsinavector.iteratorAtypethatprovidesarandom-accessiteratorthatcanreadormodifyanyelementinavector.pointerAtypethatprovidesapointertoanelementinavector.referenceAtypethatprovidesareferencetoanelementstoredinavector.reverse_iterat
7、orAtypethatprovidesarandom-accessiteratorthatcanreadormodifyanyelementinareversedvector.size_typeAtypethatcountsthenumberofelementsinavector.value_typeAtypethatrepresentsthedatatypestoredinavector.这些东西所有的容器都大同小异,在前面已经介绍过了。2vector的构造函数Vector的构造函数分两个版本种类
8、的98版本的default(1)explicitvector(constallocator_type&alloc=allocator_type());fill(2)explicitvector(size_typen,constvalue_type&val=value_type(),constallocator_type&alloc=allocator_type());range(3)templatevector(InputIte
此文档下载收益归作者所有