STL库容器vector clear函数
来源:互联网 发布:黄海真实故事知乎 编辑:程序博客网 时间:2024/04/26 20:36
STL库容器vector clear函数
clear()函数删除当前vector中的所有元素。
vector<int> v(10,0);int a[10]={1,2,3,4,5,6,7,8,9,10};v.assign(a,a+10);for(int i=0;i<=9;i++) cout<<v.at(i)<<" ";cout<<endl;v.clear();cout<<"可容纳的元素数量"<<v.capacity()<<endl;for(int i=0;i<=9;i++) cout<<v.at(i)<<" ";cout<<endl;
则输出:
1 2 3 4 5 6 7 8 9 10 可容纳的元素数量10
然后会报错,因为此时当前vector已没有元素,at函数会报越界,即使可以容纳这么多元素
下面我们再来看另一个程序
vector<int> v(10,0);int a[10]={1,2,3,4,5,6,7,8,9,10};v.assign(a,a+10);for(int i=0;i<=9;i++) cout<<v.at(i)<<" ";cout<<endl;v.clear(); 《--------重新赋值v.assign(a,a+10);for(int i=0;i<=9;i++) cout<<v.at(i)<<" ";cout<<endl;
这个程序则会输出:
1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10
它不会报错,只因为重新赋值了
这说明了clear函数只会清除元素,但不会清除这些元素所占的空间
vector<int> v(10,0);int a[10]={1,2,3,4,5,6,7,8,9,10};v.assign(a,a+10);vector<int>::iterator iter;for(int i=0;i<=9;i++) cout<<v.at(i)<<" ";cout<<endl;v.clear();for(iter=v.begin();iter!=v.end();iter++) cout<<*iter<<" ";cout<<endl;
这个程序会输出:
1 2 3 4 5 6 7 8 9 10
且不会报错,只因为我们使用了迭代器
阅读全文
1 0
- STL库容器vector clear函数
- STL库容器vector Constructors构造函数
- STL库容器 vector assign赋值函数
- STL库容器vector at函数
- STL库容器vector front函数&back函数
- STL库容器vector begin函数&end函数
- STL库容器vector Operators赋值,比较函数
- C++标准库容器(vector)
- C++标准库容器 vector
- 【STL】标准库容器概述
- VC STL标准库容器类
- STL vector中的clear方法(18)
- vector::clear(),容器vector的clear函数详解。
- 标准库容器 vector 和 迭代器 iterator 的简单介绍
- 标准库容器 vector中 string的字符处理。
- 标准库容器 vector 中string的字符 处理
- vector或其他标准库容器类型形参
- STL vector 辅助函数
- 最短路+DP [ZJOI2006]物流运输
- android使用AIDL实现进程间的通信
- Python_装饰器(一)原理篇
- Terrible Sets (单调队列)
- Unable to initialize MapOutputCollector org.apache.hadoop.mapred.MapTask$MapOutputBuffer java.lang.C
- STL库容器vector clear函数
- HDU-1005-Number Sequence
- 2017.8.14--------单调队列
- CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1
- jquery 动画
- 脏读,不可重复读,幻读的区别
- 用共享内存和信号量实现的简单的卖票系统
- vector中的resize()函数 VS reserve()函数
- flask 学习成果