1、set的底层实现:
1)迭代器是被定义成const iterator的,说明set的键值是不允许更改的2)set使用的是insert_unique,而不是insert_equal,因为set是不允许相同的键值存在的3)使用STL算法find进行查找可以,但是不是很好的办法,可以直接用STL的find来进行搜寻,效率会更好,因为是循序搜寻4)不允许通过迭代器进行修改set里面的值2、map的底层实现1)所有元素都是pair,pair有连个成员:first和second;2)我们不可以通过map的迭代器来进行元素的修改,因为map的键值关系到它的排列规则,如果修改的话,就将这种规则破坏了。但是我们可以修改实值的值,因为实值与其排列无关eg:it->second = 5;可以进行修改value的值3)也是通过红黑树进行实现的4)map的迭代器不是const 类型的,因为它允许进行修改键值5)它的底层也是insert_unique, 6)关于重载的下标的使用:使用其键值查找它的实值 返回第一个键值对应的实值的引用3、nultiset,multimap1)允许键值重复2)采用的是红黑树的insert_equal机制新闻热点
疑难解答