stl:標準模板庫
標準模板庫,一般支援c++的編譯器都帶了stl的支援。裡面提供了大量的函式模板(通用演算法)和類模板。
一般用法:
(1)標頭檔案:stl的標頭檔案都是不帶.h字尾的. 例:#include
(2)名字空間:stl使用名字空間std,因此可能需要使用using namespace std;或者using std :: vector
向量vector用於實現陣列的功能,相當於在陣列的基礎上封裝了一些常用的功能,常用函式:
push_back***********
在尾部新增乙個元素
pop_back
************在尾部刪除乙個元素
clear
******************清空所有元素
at**********************
按索引訪問某個位置的元素
front
*******************返回頭元素
back******************
返回尾元素
size *******************
返回元素的個數
capacity
***************返回當前容量
resize******************
改變容量的大小
insert*******************
在中間插入元素
erase *******************
刪除中間的元素
例:vector arr(16);//capacity:16
arr.clear();
//size = 0
arr.push_back(1);
//capacity:16,size:1
arr.push_back(2);
//capacity:16,size:2
迭代器vector::iterator iter
for(iter = arr,begin(); iter != arr.end(); iter ++)
list:封裝了鍊錶相關的功能
push_back
在尾部新增乙個元素
pop_back
在尾部刪除乙個元素
push_front
在頭部新增乙個元素
pop_front
在頭部刪除乙個元素
clear
清空所有元素
size
返回元素的個數
front
返回頭元素
back
返回尾元素
insert
在中間插入元素
erase
刪除中間的元素
遍歷:鍊錶不能隨機訪問,只能按順序鏈式訪問,所以,只能用迭代器iterator
list::iterator, list內的迭代器
list比vector更適合用插入刪除操作
list鍊錶中插入/刪除乙個節點
(1)遍歷list,找到目標位置
(2)呼叫insert/erase,插入/刪除乙個節點
例://刪除值為3的節點
for (list::iterator iter = lst.begin(); iter != lst.end(); iter++)
}string:封裝了字串相關的工作,內部實現和vector類似,操作介面上增加了字串的介面
附加字串
clear
清空capacity
容量size
實際長度
length
實際長度,等同於size函式
at 按索引訪問字元
find
查詢乙個字元或字串
rfind
從後往前查詢乙個字元或乙個子串
find_first_of
查詢匹配若干字串中的乙個字元
find_first_not_of
查詢不匹配若干字串的乙個字元
find_last_of
從後往前查詢,匹配若干字元中的乙個字元
find_last_not_of
從後往前查詢,不匹配若干字元中的乙個字元
substr
取得乙個子串
insert
插入字元或子串
replace
替換字元或子串
resize
顯示地設定string內部緩衝區的容量
取得字串內部的 char*
例:string text("hello,world");
string char* p = text.c_str();
printf("str: %s\n",test.c_str());
string t1;
//附加乙個字元
//附加乙個字串,拷貝前5個字元
//附加乙個字串,起點位置1,長度3
//附加2個『h'的字元
C 學習筆記 stl
最近在網上自學c 看到容器這塊覺著有點散 就自己打了一遍方便之後查詢 建構函式 賦值操作 拼接 查詢 替換 比較 字元訪問 插入和刪除 擷取字串 可動態擴充套件 單端陣列 從尾部插入刪除元素方便 支援迭代器的跳躍隨機訪問 vector iterator n 建構函式 賦值操作 容量和大小 插入和刪除...
C 學習筆記 簡介
using system 匯入system命名空間,包含console類 namespace program 命名空間 輸出 hello world console.write hello world 與console.writeline hello world 區別 前者輸出後不換行,後者輸出後自...
C 學習筆記 STL概述
c 語言的核心優勢就是便於軟體的重用。c 中有兩個方面體現重用 1.物件導向的思想 繼承和多型,標準類庫 2.generic programming 泛型程式設計 的思想 模板機制以及標準模板庫 stl 也就是說使用模板的程式設計。stl standard template library 就是一些...