第三章標準庫型別

2021-10-01 11:34:48 字數 1932 閱讀 5963

1.命名空間using宣告

using std:: string;

就能使用string,必須引入標頭檔案

更便捷的使用方法:

using namespace std;

2.標準庫string 型別

物件定義和初始化

string s1;

//空串

string s2

(s1)

;//將s2初始化為s1的乙個副本

string s3

("value");

//將s3初始化為乙個字串的字面值副本

string s4

(n,'c');

//將s4初始化為字元'c'的n個副本

string 的讀取操作

1.讀入未知數目的string 物件

string word;

while

(cin >> word)

2.getline讀取整行文字

string line;

while

(getline

(cin,line)

)

string 物件的操作

s.empty()

s.size()

s[n] 返回s中位置為n的字元,位置從0開始

s1 + s2

s1 = s2;

v1 == v2

string::size_type型別

為string類型別的配套型別,一般為unsigned int 或long

3.標準庫 vector型別

使用引入標頭檔案:#include

3.1 vector 物件的定義和初始化

vector v1;

vector v2(v1);

vector v3(n,i);

vector v4(n);

vector物件會對存入的個數進行初始化值,內建型別eg:int 為0.

帶類型別為: vector 用t的預設建構函式進行初始化。

vector物件的操作

v.empty();

v.size();

v.push_back(t);

v[n]

v1 == v2

1.vector物件的size

注意:

使用 size_type型別時,必須指出該型別是在**定義的,vector型別總是包括vector的元素型別:

vector::size_type //ok

vector::size_type //error

2.迭代器

每種容器都定義了自己的迭代器型別

如vector: vector::iterator iterl

eg:標準迭代器用法

for

(vector<

int>

::iterator iter = ivec.

begin()

; iter != ivec.

end();

++iter)

2.1 const_iterator

這種型別只能讀取容器內的元素,但不能改變其值。

注意:

不要把const_iterator物件與const的iterator物件混淆起來,宣告乙個const 迭代器,必須初始化迭代器,一旦被初始化後,就不能改變它的值:

vector nums(10);

const vector::iterator cit = nums.begin();

*cit=1; //ok

++cit; //error

const_iterator物件可以用於const vector或非const vector,因為不能改寫元素值。

第三章 標準庫型別

幾種初始化string類的方法 string型別的輸入操作符 int main void return 0 int main void return 0 bitset 32 bitvec 給出的長度必須是常量表示式,而且是整型。bitsetb u b是unsigned long型u的乙個副本 bit...

第三章 標準庫型別

3.1 命名空間的using宣告 通常,在標頭檔案中只定義卻是需要的東西,如只用到std cout,就應該只定義這個,不要把所有的都給定義出來。3.2 標準庫string型別 1 string物件的定義和初始化 為了與c相容,字串字面值與標準庫string型別不是同一種型別,程式設計時一定要注意區分...

2010 7 20第三章標準庫型別

今天看完了這一章,主要講了string類,vector容器,迭代器,和bitset類的特點,操作和一些值得注意的地方,string和vector相對於c語言來說更傾向整體的操作,用慣了char型別和陣列和指標對於類的操作一下顯得有點不適應。下面總結這幾個類得一些要注意的地方。一.string型別 1...