1 将一个容器初始化为另一个容器的副本时,容器类型和元素类型都必须一致。 如vectorive2(ive) 但有一种方法可以实现不同容器的复制,即使用迭代器 list slist(sve.begin*(),sve.end()),同理,迭代器就是指针,因此允许使用内置数组的一对指针初始化容器也是可以的 char *word[]={"aa","bb","dd"} list wdf(word,word+2)
2 容器类型必须支持两个约束条件 (1)元素类型必须支持赋值运算 (2)元素类型的对象必须能够复制 3 c++的容器类中,只有vector和deque容器提供迭代器算数运算和除了==and!=(这两个运算关系所有容器都支持)外的关系操作符比较迭代器。
3 所有的容器类型都支持用关系操作符来实现两个容器的比较。比较的容器必须具有相同的容器类型。而且元素类型也必须相同。容器的比较其实就是容器内元素的比较。
4 可以用map巧妙的统计单词个数 mapword_count; string word; while(cin>>word) ++word_count[word]
5 关联容器map和set的元素是按照顺序存储的,而multimap和multiset也是,所以,在multimap和multiset中,如果某个键对应对个实例,则这些实例在容器中将相邻存放。
6 stl算法不直接修改容器的大小,如果要添加或者删除元素,则必须使用容器操作。使用算法,需要一个配套的使用函数,称为谓词(predicate),谓词是做某些检测的函数,返回用于条件判断的类型,指示条件是否成立。