C++ primer 第五版 中文版 11.3.1 节练习 个人code

来源:互联网 发布:淘宝直播开播入口 编辑:程序博客网 时间:2024/05/29 03:51

C++ primer 第五版 中文版 11.3.1 节练习

练习 11.15:对一个int 到vector<int> 的map,其 mapped_type、key_type和value_type分别是什么?


答: map<int,vector<int>> mymap;

       mapped_type是:pair<const int,vector<int>> 类型;

key_type是:int类型;

value_type是:vector<int> 类型;

练习 11.16:使用一个map迭代器编写一个表达式,将一个值赋予一个元素。

答:假如声明 map<string, int> mymap = { { "mystr", 3 }, { "mystr1", 4 }, { "mystr2", 5 } };

 则有如下代码:

auto iter = mymap.begin();iter->second = 6;

练习 11.17:假定c是一个string的multiset,v是一个string的vector,解释下面的调用。指出每个调用是否合法:

copy(v.begin(),v.end(),inserter(c,c.end()));    //不合法,因为c 是const string类型;copy(v.begin(),v.end(),back_inserter(c));  //不合法,因为c 是const string类型;copy(c.begin(),c.end(),inserter(v,v.end())); //合法;copy(c.begin(),c.end(),back_inserter(v)); //合法;

练习 11.18:写出第382页循环中map_iter的类型,不要使用auto或decltype。

答:382页中的循环为:

auto map_it = word_count.cbegin();

类型为 map<string,int>::const_iterator






0 0
原创粉丝点击