概述
map的特性
所有元素都会根据元素的键值自动被排序
map中的pair结构
map的所有元素类型都是pair,同时拥有实值(value)和键值(key)
pair的第一个元素视为键值,第二个元素视为实值
map不允许两个元素拥有相同的键值
下面是stl_pair.h中pair的定义:
//代码摘录与stl_pair.htemplate <class _T1, class _T2>struct pair {typedef _T1 first_type;typedef _T2 second_type;
_T1 first;_T2 second;pair() : first(_T1()), second(_T2()) {}pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {}
#ifdef __STL_MEMBER_TEMPLATEStemplate <class _U1, class _U2>pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}#endif};
map的迭代器
不可以根据map的迭代器改变节点的键值,但是可以通过map的迭代器改变节点的实值
因此,map iterators既不是一种constant iterators,
最后
以上就是畅快小懒虫为你收集整理的C++(STL):31 ---关联式容器map源码剖析的全部内容,希望文章能够帮你解决C++(STL):31 ---关联式容器map源码剖析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复