我是靠谱客的博主 畅快小懒虫,最近开发中收集的这篇文章主要介绍C++(STL):31 ---关联式容器map源码剖析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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源码剖析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部