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...