c primer學習記錄(二)

2021-09-10 08:17:12 字數 936 閱讀 1795

string

getline(cin,s); 讀取一行

cin讀入會自動忽略開頭的空白(空格符 換行符 製表符)從第乙個真正的字元讀起,直到遇到下一處空白為止

getline函式的引數是乙個輸入流和乙個string物件,函式從給定的輸入流中讀取內容,直到遇到換行符(換行符也被讀入),之後將所存內容存入到string物件中(不存換行符)

size()函式返回值是size_type 無符號型別 能夠存放任何string物件的大小。

int main()

; int *beg=begin(a),*ed=end(a);

while(beg!=ed) cout<<*beg《任何出現字串字面值的地方都可以用以空字元結束的字元陣列替代

*允許使用以空字元結束的字元陣列來初始化string物件或者為string物件賦值

*在string物件的加法運算中允許使用以空字元結束的字元陣列作為其中乙個運算物件(不能兩個運算物件都是),在string物件的復合賦值運算中允許使用以空字元結束的字元陣列作為右側的運算物件。

string專門提供了名為 c_str的成員函式 返回值是乙個c風格的字串 指標的型別是 const char* 從而保證我們不會改變字元陣列的內容

int main()

不允許使用vector初始化陣列,相反允許使用陣列初始化vector。

int main()

; vectorv(begin(a),end(a)); //儲存a陣列一樣的內容

vectorv1(a+1,a+4); //儲存a[1] a[2] a[3]

}

現代c++程式應當盡量使用vector和迭代器以及string,避免使用內建陣列和指標和c風格字串

多維陣列

嚴格來講,c++語言沒有多維陣列,只有陣列的陣列

C Primer 學習記錄

includeusing namespace std int main while cin value 這裡所產生的是為判斷條件,先執行輸入操作 cin value 它具有從標準輸入讀取下乙個數並且將讀入的值儲存在value中的效果 返回其左運算元。當使用irtream物件作為條件,結果是測試流的狀...

C Primer學習記錄02

4 表示式 求餘 操作符只能被應用在整值型別 char short int和 long 的運算元上 如果有乙個 或兩個 運算元為負 餘數的符號則取決於機器 3.14 3 編譯時刻錯誤 浮點運算元 21 5 機器相關 結果為 1 或 1 邏輯與操作符 if a 0 arr a 3 將有危險的 越界 放...

c primer 容器 學習記錄

一般用vector 在容器中間施行插入集,則應該在輸入階段使用list,然後將內容拷貝給vector 讀取未知數量單詞,總是將新單詞插入末尾,刪除操作在頭部進行 快速隨機訪問 尾部插入好 頭部刪除好 deque 讀取固定數量單詞,將他們按字典順序插入到容器中 快速隨機訪問 尾部插入好 string ...