1.SLT六大組件:
容器,迭代器,算法,仿函數,適配器,空間配置器
2.六大組件之間的關系
容器:容器是STL最基礎的組件,沒有容器,就沒有數據,容器的作用就是用來存儲數據的,在不同的場景下使用不同的容器,保證了數據使用的高效率和低空間。
算法:算法是解決問題的思想和實施步驟;而編程就是算法的實現,不同算法的實現對于數據的處理來說是重要的,沒有算法,也就沒有了正確的數據。
迭代器:迭代器的出現連接了容器和算法,隱藏了算法和容器底層的實現細節,降低了使用成本,如果沒有迭代器,則算法和容器將直接暴露在用戶面前,使封裝性減低。
適配器:通過其他的容器或迭代器來實現其它的容器或迭代器,stack/queue/priority_queue都是通過其它容器適配出來的,反向迭代器也可以通過正向迭代器實現。
仿函數:通過實現operator()的類,這個類對象可以像函數一樣來實現,比如map/set中key的比較大小,sort中的比較規則。
空間配置器(內存池):容器頻繁申請或釋放內存。判斷申請的空間大小來使用不同的內存池,減小了空間的浪費,提高了訪問效率。
?