C 標準庫 STL6大部件概述

2021-10-07 15:31:43 字數 1170 閱讀 4146

c++標準庫以header files形式呈現:

(1)c++標準庫的header files不帶.h,如:#include

(2)新式的c header files不帶字尾.h,如:#include

(3)舊式的c header files帶字尾.h,如:#include

新式的headers內的元件封裝在 namespace std 當中:using namsespace std;舊式的header內的元件不被封裝到namespace std中。

stl是屬於c++標準庫的一部分,stl有6個部件,6個部件之間有著很緊密的聯絡。

stl的6大部件包括:容器(containers)、分配器(allocators)、演算法(algorithm)、迭代器(iterators)、介面卡(adapters)、仿函式(functors)。

概述上述6大部件之間的關係如下:

容器用於儲存資料,是與記憶體打交道的,其背後有分配器支撐其分配記憶體,基於容器寫好的仿函式封裝成演算法迭代器演算法容器中資料訪問的橋梁,就是一種泛化的指標。介面卡,英文中adapter就是變壓器的意思,用於幫助部件進行轉換,包括容器介面卡,仿函式介面卡,迭代器介面卡。(下圖摘自侯捷的stl原始碼剖析一書)

}vector:容器

allocator:分配器

v.begin()、v.end():迭代器

count_if:演算法

bind2nd:介面卡,繫結第2個引數的

not1:介面卡

C 標準模板庫STL

stl是標準c 庫的一部分。stl模板類為c 提供了完善的資料結構和演算法。stl的特點 型別引數化 即stl的 中可處理任意自定義型別的物件。泛型程式設計 generic programming 它以模板為基礎,弱化了 實體型別的差異,簡化了程式設計時問題抽象的模型,提供了更好的 封裝性和彈性。s...

C 標準模板庫STL

stl 標準模板庫 包括容器,演算法,迭代器 容器用來儲存資料,比如vector,list,堆疊等,string也算 一共有八個 演算法就是對容器進行操作,比如增刪改查資料 迭代器用來遍歷容器itreator 用指標的方式來遍歷容器的資料 注 平時使用的時候大部分時候我們都用上了,但是面試的時候不能...

c (標準模板庫STL)

stl是一種泛型程式設計 generic programming 容器主要有以下分類 例如 容器的成員函式begin 返回指向容器中第乙個元素的迭代器 end 返回指向容器中最後乙個元素後繼位置的迭代器。下面通過stl中提供的乙個泛型函式find 來說明迭代器與泛型演算法的關係 首先看下stl對於f...