cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size
cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n) //调整存储数据的大小至n 7 c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t。 8 9 注意:resize操作可能会使迭代器失效
1 /*cb11a_c++_顺序容器的的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n) //调整存储数据的大小至n 7 c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t。 8 9 注意:resize操作可能会使迭代器失效 10 */ 11 12 #include <iostream> 13 #include <vector> 14 #include <list> 15 #include <deque> 16 17 using namespace std; 18 19 int main() 20 { 21 list<int> ilist; 22 ilist.push_back(10); 23 ilist.push_back(20); 24 ilist.push_back(30); 25 26 cout << "ilist容器的个数:" << ilist.size() << endl; 27 28 list<int>::size_type count = ilist.size();//返回结果:size_type 29 cout << "ilist容器的个数:" << count << endl; 30 31 cout << "容器的max_size: " << ilist.max_size() << endl; 32 33 if (ilist.empty()) 34 { 35 cout << "ilist容器是空的" << endl; 36 } 37 else 38 cout << "ilist容器不是空的" << endl; 39 40 //调整存储的大小 41 ilist.resize(10);//前3个有数据,后面7个都是0 42 for (list<int>::iterator iter = ilist.begin(); 43 iter != ilist.end(); ++iter) 44 cout << *iter << endl; 45 ilist.resize(20, 6);//20个数后面的,后面10个数是6 46 cout << "调整容量为20后:" << endl; 47 for (list<int>::iterator iter = ilist.begin(); 48 iter != ilist.end(); ++iter) 49 cout << *iter << endl; 50 51 ilist.resize(2);//只存储2个数 52 cout << "调整容量为2后:" << endl; 53 for (list<int>::iterator iter = ilist.begin(); 54 iter != ilist.end(); ++iter) 55 cout << *iter << endl; 56 ilist.resize(0);//里面数据清空了,为0 57 cout << "调整容量为0后:" << endl; 58 for (list<int>::iterator iter = ilist.begin(); 59 iter != ilist.end(); ++iter) 60 cout << *iter << endl; 61 if (ilist.empty()) 62 { 63 cout << "ilist容器是空的" << endl; 64 } 65 else 66 cout << "ilist容器不是空的" << endl; 67 68 vector<int> ivec(10,42);//10个42 69 ivec.resize(15); 70 ivec.resize(25);//总共25个的大小 71 ivec.resize(5);//调整为只有5个数大小 72 ivec.resize(0);//清空,数据数量0 73 74 //c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t。 75 ivec.resize(3, 8);//3个数据,默认都是8,3个8. 76 77 cout << "vector数据显示:" << endl; 78 for (size_t iv = 0; iv != ivec.size(); ++iv) 79 cout << ivec[iv] << endl; 80 81 82 83 return 0; 84 }
欢迎讨论,相互学习。
cdtxw@foxmail.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)