第十一章 11.3.4节练习
2014-09-01 22:18
148 查看
练习11.24
下面的程序完成什么功能?
插入一个关键字为1的元素,管理那只进行初始化;然后将1赋予它。
练习11.25
对比下面程序与上一题程序
看起来像“直接插入一个元素到序列中”。
但是这个操作是错误的,因为v是空的,所以v[0]本身就已经越界访问了,当在进行赋值的时候,程序自然会奔溃。
练习11.26
可以用什么类型来对一个map进行下标操作?
下标运算符返回的类型时什么?
请给出一个具体例子——即,定义一个map,然后写出一个可以用来对map进行下标操作的类型以及下标运算符将会返回的类型。
解答:
这里引用下标运算符的等价操作
这样就很明确了
进行下标操作的类型就是value_type
返回类型就是mapped_type
下面的程序完成什么功能?
map<int ,int> m; m[0] = 1;解答:
插入一个关键字为1的元素,管理那只进行初始化;然后将1赋予它。
练习11.25
对比下面程序与上一题程序
vector<int> v; v[0] = 1;解答:
看起来像“直接插入一个元素到序列中”。
但是这个操作是错误的,因为v是空的,所以v[0]本身就已经越界访问了,当在进行赋值的时候,程序自然会奔溃。
练习11.26
可以用什么类型来对一个map进行下标操作?
下标运算符返回的类型时什么?
请给出一个具体例子——即,定义一个map,然后写出一个可以用来对map进行下标操作的类型以及下标运算符将会返回的类型。
解答:
这里引用下标运算符的等价操作
(*((this->insert(make_pair(k,mapped_type()))).first)).second代码
// accessing mapped values #include <iostream> #include <map> #include <string> int main () { std::map<char,std::string> mymap; mymap['a']="an element"; mymap['b']="another element"; mymap['c']=mymap['b']; std::cout << "mymap['a'] is " << mymap['a'] << '\n'; std::cout << "mymap['b'] is " << mymap['b'] << '\n'; std::cout << "mymap['c'] is " << mymap['c'] << '\n'; std::cout << "mymap['d'] is " << mymap['d'] << '\n'; std::cout << "mymap now contains " << mymap.size() << " elements.\n"; return 0; }输出结果:
mymap['a'] is an element mymap['b'] is another element mymap['c'] is another element mymap['d'] is mymap now contains 4 elements.
这样就很明确了
进行下标操作的类型就是value_type
返回类型就是mapped_type
相关文章推荐
- 《Python核心编程》第二版第308页第十一章练习 续五 -Python核心编程答案-自己做的-
- SQL第十一章上机练习3
- 第十一章上机练习
- 第十一章练习
- 第十一章练习 压缩和远程传输文件
- 《Python核心编程》第二版第308页第十一章练习 续四 -Python核心编程答案-自己做的-
- SQL第十一章上机练习4
- C primer plus 第十一章 练习2:
- 11.3.4节练习
- 现代软件工程 第十一章 【软件设计与实现】 练习与讨论
- 第十一章 11.3.5节练习
- 《Python核心编程》第二版第308页第十一章练习
- 第十一章练习总结
- python核心编程第十一章练习
- 第十一章 字符串和字符串函数(练习)总结 140606
- 第十一章 编程练习1-3
- 记录——《C Primer Plus (第五版)》第十一章编程练习第一题
- 第十一章 11.1节练习
- 第十一章练习关于网关命令的创建
- Java-Java编程思想第四版 第十一章 练习