字符串
字符串string是對字符的集合
初始化string對象的方法 | |
---|---|
string s1 | 默認(rèn)初始化,s1是一個(gè)空串 |
string s2(s1) | s2是s1的一個(gè)副本 |
string s2 = s1 | s2是s1的一個(gè)副本 |
string s3 {"value"} | s3是value的一個(gè)副本,除去字面值最后的那個(gè)空字符 |
string s3 = "value" | 與s3同樣效果 |
string s4{n, ‘c’} | n個(gè)c字符 |
直接初始化(Direct initialization)VS拷貝初始化(Copy initialization)
拷貝出示化表示:使用=初始化一個(gè)變量
直接初始化表示不使用=初始化一個(gè)變量
當(dāng)初始值只有一個(gè)的情況下,兩種初始化沒有太大的區(qū)別,當(dāng)像s4一樣的話,那必須使用直接初始化;
string對象上的操作
string的操作 | |
---|---|
os << s | 將s寫入輸出流os,返回os |
is >> s | 從is中讀取字符串賦給s,字符串已空白分隔,返回is |
s.empty() | s為空返回true,s為假返回false |
s.size() | 返回s中字符的個(gè)數(shù) |
s[n] | 返回s中第n個(gè)字符的引用,從0開始 |
s1 + s2 | 將s2 連接到s1之后 |
s1 = s2 | 用s2的副本替換s1種的字符串 |
s1 == s2 | s1 與s2種的字符一樣,則相等,對字符大小寫的判斷敏感 |
s1 !=s2 | 判斷不等 |
getline(is, s) | 讀取一行字符賦值給s,遇到換行符停止,返回輸入流 |
< ,> ,<= ,>= | 利用字符在字典中的順序進(jìn)行比較,對字幕大小寫敏感 |
向量
標(biāo)準(zhǔn)庫vector表示對象的集合,所有對象的數(shù)據(jù)類型一致。vector容納其他對象,因此也成為”容器“(Container)
C++中有類模板(Class temples),也有函數(shù)模板(Function temples),vector是一個(gè)類模板。模板本身不是類或者函數(shù),相反可以把模板看作為編譯器生成類和函數(shù)的一份說明。compiler根據(jù)模板生成類和函數(shù)的過程稱為實(shí)例化。
定義vector
初始化vector | |
---|---|
vector<T> v1 | v1為一個(gè)空的vector,其潛在的元素是T類型,執(zhí)行默認(rèn)初始化 |
vector<T>v2(v1) | v2 |