The STL参考 http://www.cplusplus.com/reference/stl/似乎在概念上有所不同:
- 一方面是“序列容器”(数组向量双端队列前向列表列表)
- 另一方面,“关联容器”(设置多重集映射 multimap unordered_set unordered_multiset unordered_map unordered_multimap)。
另外,我们似乎有:
- 所有容器实现
begin()
方法返回一个指向容器中第一个元素的迭代器。
- 仅序列容器具有
front()
方法返回对容器中第一个元素的引用。
我的理解是front()
方法可以很容易地定义为begin()
方法只需取消引用其返回值即可。
因此,我的问题是:为什么不是front()
为定义的所有对象定义的方法begin()
方法 ?(实际上应该是每个容器)
(我想从语义的角度来看,从映射中获取第一个元素不像从向量中获取第一个元素那样有意义,但我想知道是否有更有效的解释)。
您确实必须向标准委员会询问该问题(comp.lang.c++.std),但我的猜测是,是的,它只是没有多大意义。此外,对于它的含义也不太清楚。你想要根,前序在前,后序在前,你先插入...?有了序列,就很清楚了:前面是一侧,后面是另一侧。地图是树。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)