首页 > 代码库 > C++primer 10.2.2节练习

C++primer 10.2.2节练习

练习10.6

 1 #include<iostream>
 2 #include<string>
 3 #include <iostream>
 4 #include <string>
 5 #include <vector>
 6 #include <algorithm>
 7 using namespace std;
 8 
 9 int main()
10 {
11     vector<int> vec{0,1,2,3,4};
12     fill_n(vec.begin(), vec.size(), 5);
13     for (auto c : vec)
14         cout << c << endl;
15     system("pause");
16     return 0;
17 }

练习10.7

a)错误,原因在于传递给copy的目的序列至少要包含与输入序列一样多的元素;

多种改法,只要确定一下vec的大小,并控制输入的元素数量小于等于vec的大小即可;

b)错误,程序只是给vec分配了空间,但是其实vec中还是空的;

修改:将vec初始化为10个元素即可;

练习10.8

他是一个插入迭代器,是一个迭代器,当一个算法操作一个这样的迭代器时,迭代器可以完成向容器添加元素的效果,但是算法自身永远不会做这样的操作;

 

C++primer 10.2.2节练习