C++STL之初识容器和迭代器
提問大綱
初識STL
初識容器和迭代器
*表示這并不是一個問題,而是一些碎碎念
編譯原理?預處理 編譯 匯編 鏈接
memecpy函數?
用C++定義數組的方法?自帶的方法,動態(tài)分配內存,STL庫
STL庫有哪些版本?STL是開源的,不同的廠商基于此發(fā)展了泛型庫,惠普HP STL,基于上述的SGI STL其中GCC編譯器支持,基于上一個適配更多的編譯器STLport,基于上三個PJ STL,非開源,適配vc++
gcc和g++?
*STL 容器 算法 迭代器 函數對象 適配器 內存分配器13個頭文件,標準頭文件不再有拓展名
GNU是什么?操作系統(tǒng)還有一些列的拓展,宗旨是開源代碼GPL協(xié)議,旗下GCC和Linux
容器的分類?container序列容器(元素在容器中的位置與元素的值無關)如vector、list、deque/ 還有排序容器也叫關聯容器(默認按照從小到大的順序進行排序)如set、multiset、map、multimap等/ 還有哈希容器也叫關聯容器C++11最新加入(容器的位置由哈希函數確定)如unordered_set 哈希集合、unordered_multiset 哈希多重集合、unordered_map 哈希映射以及 unordered_multimap 哈希多重映射
*sequence container/ associative container/ unordered associative container
迭代器是什么?介于容器和算法之間(每一種不同類型的容器都定義一種迭代器類型),便利讀寫容器內數據,隱藏容器內部差異,與指針類似,就可以把它看成是一種數據格式,和int是一樣的
迭代器的類別?前向迭代器 forward iterator 雙向迭代器 bidirectional iterator 隨機訪問迭代器 random access iterator 其他輸入迭代器 輸出迭代器暫且不講
這三種迭代器的基本功能?
容器與迭代器的綁定關系?vector array deque 隨機訪問迭代器,list set map 雙向迭代器,forward_list unordered_map 前向迭代器 stack queue 不支持
怎么上面說三種迭代器,下面就是四種而且都不一樣?拿vector來舉例子,它是random access iterator,在這個基礎上面可以定義正向 常量正向 反向 常量反向
迭代器的定義方式?有些容器不能定義所有類型的迭代器 容器類名::iterator 迭代器名;
C++11的新容器?array forward_list unordered_set unordered_map
雙向迭代器能干什么不能干什么?可以++和–,不能用下標隨機訪問元素,不能+2+3,不能比較大小
總結
以上是生活随笔為你收集整理的C++STL之初识容器和迭代器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]【C/C++】STL详解
- 下一篇: latex大括号 多行公式_如何快速入门