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

本文详细解答了C++ Primer第五版中文版的三个练习题,包括int到vector<int>的map类型解析、使用迭代器修改map元素值、以及string的multiset与vector操作的合法性判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值