STL的叫法是“容器”,标准库里面容器不多,数组、链表、红黑树,实现都不负责threadsafe、mutable之类,对比下Java的,选择很多,也挺混乱。。序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list。关联容器:set,map,multiset,multimap,bitset(叫bit_array更合适)。容器适配器:stack,queue,priority_queue。除了bitset,都用到模板,声明大概是这样的:STLStandardContainers,点击加号展开!STLContainerAdaptors,点击加号展开!C++是注重效率的,所以STL很强调一点就是amortized的性能,下面的表很不错,还可以用来速查: SequencecontainersAssociativecontainersHeaders<vector><deque><list><set><map><bitset>plexvectordequelistsetmultisetmapmultimapbitsetconstructor*constructorconstructorconstructorconstructorconstructorconstructorconstructorconstructordestructorO(n)destructordestructordestructordestructordestructordestructordestructoroperator=O(n)operator=operator=operator=operator=operator=operator=operator=operatorsiteratorsbeginO(1)beginbeginbeginbeginbeginbeginbeginendO(1)endendendendendendendrbeginO(1)rbeginrbeginrbeginrbeginrbeginrbeginrbeginrendO(1)rendrendrendrendrendrendrendcapacitysize*sizesizesizesizesizesizesizesizemax_size*max_sizemax_sizemax_sizemax_sizemax_sizemax_sizemax_sizeemptyO(1)emptyemptyemptyemptyemptyemptyemptyresizeO(n)essfrontO(1)frontfrontfrontbackO(1)backbackbackoperator[]*operator[]operator[]operator[]operator[]atO(1)atatmodifiersassignO(n)assignassignassigninsert*insertinsertinsertinsertinsertinsertinserterase*eraseeraseeraseeraseeraseeraseeraseswapO(1)swapswapswapswapswapswapswapclearO(n)clearclearclearclearclearclearclearpush_fro
总结:C STL 容器 来自淘豆网www.taodocs.com转载请标明出处.