C++primer(第五版)9.4节练习答案
来源:互联网 发布:低通滤波算法 matlab 编辑:程序博客网 时间:2024/05/12 09:02
练习9.35:解释一个vector的capacity和size有何区别。
解答:
容器的size是指它已经保存的元素的数目;而capacity则是在不分配新的内存空间的前提下它最多可以保存多少元素。
练习9.36:一个容器的capacity可能小于它的size吗?
解答:
不可以,capacity只能大于或等于size。
练习9.37:为什么list或者array没有capacity成员函数?
解答:
list 的元素不是连续存储的;array有固定的大小,因此不能添加元素。
练习9.38:编写程序,探究在你的标准库实现中,vector是如何增长的。
解答:是成倍的增长的。
#include<iostream>#include<string>#include<vector>int main(){std::vector<std::string> svec;std::string word;while(std::cin>>word){svec.push_back(word);std::cout<<svec.capacity()<<std::endl;}return 0;}
练习9.39:解释下面的程序片段做了什么:
vector<string> svec;
svec.reserve(1024);
string word;
while(cin>>word)
svec.push_back(word);
svec.resize(svec.size() + svec.size()/2);
解答:
vector<string> svec;svec.reserve(1024); // 将capacity设置为 1024string word;while (cin >> word) // 连续输入单词 svec.push_back(word);svec.resize(svec.size()+svec.size()/2); // 设置svec的capacity为3/2大小的size
练习9.40:如果上一题中的程序读入了256个词,在resize之后的容器的capacity可能是多少?如果读入了512个、100个或1048个呢?
解答:
0 0
- C++primer(第五版)9.4节练习答案
- C++primer(第五版)8.2.2节练习答案
- C++primer(第五版)8.2.2节练习答案
- C++primer(第五版)8.3.2节练习答案
- c++primer第五版课后练习答案(第五章)
- C++.Primer.Plus第五版第五章编程练习答案
- C Primer Plus (第五版) 第五章 编程练习 答案
- C++Primer第五版 9.4节练习
- c++primer第五版课后练习答案(第一章)
- c++primer第五版课后练习答案(第三章)
- c++primer第五版课后练习答案(第九章)
- c++primer第五版课后练习答案(第十章)
- c++primer第五版课后练习答案(第六章)
- c++.primer.plus第五版第六章编程练习答案
- c++.primer.plus第五版第七章编程练习答案
- c++.primer.plus第五版第八章编程练习答案
- c++.primer.plus第五版第九章编程练习答案
- c++.primer.plus第五版第十章编程练习答案
- 九宫重排
- ArcGIS教程:打开网络分析“图层属性”对话框
- 取消url后JSESSIONID
- 程序员的自我修养-笔记一
- hdu 1251 统计难题 字典树解释 +字典树模板
- C++primer(第五版)9.4节练习答案
- opencv protection error
- [leetcode] Palindrome Partitioning
- EventBus 初步 让你省去handler、AsynTask,接口回调
- glibc代码走读笔记(一)
- Windows 下openssl安装与配置
- Android Wifi的工作流程
- ArcGIS教程:什么是网络分析图层?
- 大型网站架构改进历程:存储的瓶颈(下)