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 }

 

原文链接: https://www.cnblogs.com/txwtech/p/12312908.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/329465

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午5:09
下一篇 2023年3月1日 下午5:09

相关推荐