C++ primer字符串、向量和數組

1.    Cin>>string(類型) 不讀取空格

2.    getline:讀入內容直到換行符,保留空白符,換行符不不存入string

3.    s.empty () s爲空則返回true,否則返回flase

4.    s.size () s中的字符的個數,返回值爲無符號數

5.    字面值與string對象相加:當把string對象和字符字面值及字符串字面值混在一條語句中使用時,必須確保每個加法運算符的兩側的運算對象至少有一個是string(字符串字面值與string不是同一個類型)

6.    cctype 判斷字符串內容的頭文件

7.    在名爲cname的頭文件中定義的名字從屬於命名空間std,而定義正在名爲.h的頭文件中的則不然

8.     size_type:string::size_type和vector::size_type可表示各自類型的長度或下標,無符號整數

9.    處理string每個字符,for(auto 單個字符: string 字符串),若想改變則將“單個字符”設置爲引用

10.  實例化:編譯器根據模板創建類或函數的過程

11.  Begin和end運算符返回類型由對象是否是常量決定,cbegin和cend始終返回const_iterator

12.  如果容器爲空,則begin和end返回的是同一個迭代器,都是尾後迭代器

13.  迭代器比較:兩個迭代器,指向同一個容器中的元素或尾元素的下一個位置,比較的是位置的前後;相減得到different_type型的有符號證書,表示兩個迭代器的距離

14.  Vector 理解爲數組(實際功能比數組強大),迭代器理解爲指針(注意不同處)

15.  但凡使用了迭代器的循環體,都不要向迭代器所屬的容器添加元素

16.  數組下標類型:size_t類型,無符號類型

17.  兩個指針相減的結果的類型是:ptrdiff_t,有符號類型

18.  cin輸入string類型,遇空格停止

19.  vector對象(以及string對象)的下標運算符可用於訪問已存在的元素,而不能用於添加元素

20.  迭代器提供了對對象的間接訪問

21.  儘管C++支持C風格字符串,但是在C++程序中最好還是不要使用它們。因爲C風格字符串不僅使用起來不太方便,而去極易引發程序漏洞,是諸多安全問題的根本原因。

22.  C風格字符串:字符串存放在字符數組中並以空字符結束(‘\0’)

23.  對於大多數應用來說,使用標準庫string比使用C風格字符串更加安全、更加高效

24.  c_str函數返回一個C風格的字符串,也就是說函數返回一個指針,該指針指向一個以空字符結束的字符數組

25.  現代C++程序應當儘量使用vector和迭代器,避免使用內置數組和指針;應該儘量使用string,避免使用C風格的基於數組的字符串

26.  多維數組實際上是數組的數組

27.  a[3][4]  a[3]  a[0] a[1] a[2]  a[0] = a[4]

28.  使用範圍for語句處理多維數組,除了最內層的循環外,其他所有循環的控制變量都應該是引用類型

29.   首指針和尾後指針:使用標準庫函數begin()和end()可以得到數組的首指針和尾後指針;提供這兩個指針可以將數組拷貝初始化vector對象;尾後指針不指向具體元素,不能解引用或遞增

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章