C++常见面试问题汇总2——STL

 

  • C++的STL源码(这个系列也很重要,建议侯捷老师的STL源码剖析书籍与视频),其中包括内存池机制,各种容器的底层实现机制,算法的实现原理等)
  • STL源码中的hashtable的实现
  • STL中unordered_map和map的区别和应用场景
  • STL中vector的实现
  • STL容器的几种迭代器以及对应的容器(输入迭代器,输出迭代器,前向迭代器,双向迭代器,随机访问迭代器)

顺序容器:vector,deque是随机访问迭代器;list是双向迭代器

容器适配器:stack,queue,priority_queue没有迭代器

关联容器:set,map,multiset,multimap是双向迭代器

unordered_set,unordered_map,unordered_multiset,unordered_multimap是前向迭代器

  • STL中的traits技法

type_traits

iterator_traits

char traits

allocator_traits

pointer_traits

array_traits

  • vector使用的注意点及其原因,频繁对vector调用push_back()对性能的影响和原因。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章