C++9.3.5容器大小的操作
2015-06-04 14:56
357 查看
简介
==========================================================================================一、容器大小
所有容器类型都提供四种与容器大小相关的操作。容器类型提供了resize操作类改变容器所包含的元素个数。
如果当前的容器长度大于新的长度值,则该容器后部的元素会被删除;
如果当前的容器长度小于新的长度值,则系统会在该容器后部添加新元素
resize操作可带有一个可选的元素值形参,如果在调用该函数时提供了这个参数,则所有新添加的元素都初始化为这个值。如果没有这个参数,则新添加的元素采用值初始化(3.3.1节)
resize操作可能会使迭代器失效,在vector或deque容器上做resize操作有可能会使其所有的迭代器都失效。
对于所有的容器类型,如果resize操作压缩了容器,则指向已经删除的元素的迭代器会失效、
list<int> ilist(10,42); ilist.resize(15);//添加5个0元素在ilist的末尾 ilist.resize(25,-1);//添加10个-1元素在ilist末尾 ilist.resize(5);清除后面的20个元素,也就是说现在容器只有5个元素,为10
相关文章推荐
- C++_运算符重载 总结
- C++ 9.3.4 容器支持的运算---关系操作符
- Windows下用eclipse进行C/C++开发
- C和C++之间库的互相调用
- C/C++中extern关键字详解
- 自己动手写C语言库函数(6) atoi
- 【Decode Ways】cpp
- C++语言体系设计哲学的一些随想
- QML和C++混合编程--QML中的全局对象
- C++/C链接过程详解
- C++_运算符重载 总结
- [C++11 并发编程] 01 - Hello World
- [cernRoot]Get graphs from TMultiGraph
- c语言中static 函数和普通函数的区别?
- 自己动手写C语言库函数(5)strcpy
- C++与Java的语法区别
- [cernRoot] Getting Contours From TH2D
- [cernRoot]How to get tree name from root file
- 002-C语言概览
- 提取VS的Win32SDk用C/C++编译器