一、知識(shí)點(diǎn)
1、命名空間的using聲明
2、標(biāo)準(zhǔn)庫string類型
3、標(biāo)準(zhǔn)庫vector類型
4、迭代器簡(jiǎn)介
5、標(biāo)準(zhǔn)庫bitset類型
二、要點(diǎn)
3、標(biāo)準(zhǔn)庫vector類型
初始化vector對(duì)象的方式 |
vector<T> v1 |
v1保存T類型的對(duì)象。采用T的默認(rèn)構(gòu)造函數(shù)構(gòu)造 |
vector<T> v2(v1) |
v2是v1的一個(gè)副本 |
vector<T> v3(n, i) |
v3包含n個(gè)值為i的T對(duì)象元素 |
vector<T> v4(n) |
v4包含初始化的T對(duì)象的n個(gè)副本 |
(1)、注意如果T是沒有默認(rèn)構(gòu)造函數(shù)的類,則在初始化這種類型的vector對(duì)象時(shí),不但需要提供元素個(gè)數(shù),還需要提供元素初始值。
(2)、僅能對(duì)確知的已存在的元素進(jìn)行下標(biāo)操作,而且進(jìn)行下標(biāo)操作時(shí),是不能進(jìn)行添加元素的。
4、迭代器簡(jiǎn)介
迭代器是一種檢查容器內(nèi)元素并遍歷元素的數(shù)據(jù)類型。
(1)、end操作:end操作返回的迭代器指向vector的“末端元素的下一個(gè)”,即指向一個(gè)不存在的元素;如果vector是空的,則begin和end是一樣的。
(2)、解引用:迭代器類型可以使用解引用操作符(*操作符)來訪問迭代器指向的元素內(nèi)容。
(3)、const_iterator:這個(gè)類型只能讀取容器,不能修改其值;而const的迭代器是在初始化時(shí)指向一個(gè)vector,它是不能改變它指向的對(duì)象,但是可以改變其指向的值。
5、標(biāo)準(zhǔn)庫bitset類型
bitset類是一種對(duì)位集進(jìn)行處理的類型。
bitset初始化方法 |
bitset<n> b |
b有n位,每位都為0 |
bitset<n> b(u) |
b是unsigned long型u的一個(gè)副本 |
bitset<n> b(s) |
b是string對(duì)象s中含有的位串的副本 |
bitset<n> b(s, pos, n) |
b是s中從pos開始的n個(gè)位的副本 |
(1)、在定義bitset時(shí),要明確bitset含有多少位,須在尖括號(hào)中給出它的長(zhǎng)度值。
(2)、用unsigned long初始化bitset對(duì)象:該值直接轉(zhuǎn)換為二進(jìn)制的位模式;如果bitset長(zhǎng)度大于unsigned long值的二進(jìn)制位數(shù),則將其余的高階位置為0;如果小于,則超過的高階位被丟棄。
(3)、用string對(duì)象初始化bitset對(duì)象:從string對(duì)象讀入位集的順序是從右到坐。
(4)、bitset對(duì)象上的操作,如下圖
bitset操作 |
b.any() |
b是否存在置為1的二進(jìn)制位 |
b.none() |
b是否不存在置為1的二進(jìn)制位 |
b.count() |
b中置為1的二進(jìn)制位的個(gè)數(shù) |
b.size() |
b中二進(jìn)制位的個(gè)數(shù) |
b[pos] |
訪問b中在pos處的二進(jìn)制位 |
b.test(pos) |
b中在pos處的二進(jìn)制位是否為1 |
b.set() |
把b中的所有二進(jìn)制位都置為1 |
b.set(pos) |
把b中在pos處的二進(jìn)制位置為1 |
b.reset() |
把b中的所有二進(jìn)制位都置為0 |
b.reset(pos) |
把b中在pos處的二進(jìn)制位置為0 |
b.flip() |
把b中的所有二進(jìn)制位取反 |
b.flip(pos) |
把b中在pos處的二進(jìn)制取反 |
b.to_long() |
從b的二進(jìn)制位中返回一個(gè)unsigned long值 |
os << b |
把b中的位集輸出到os |