C Primer學習筆記(二)

2021-05-27 14:04:19 字數 1002 閱讀 8950

繼續。。

1. size_t和string::size_type,  vector::size_type.

bitset的size函式返回值型別是size_t。string和vector的size函式返回值型別是對應的size_type

size_t 是乙個於機器無關的unsigned型別,其大小足以儲存記憶體物件的大小。

一般陣列下標的型別是size_t

2.string類的+操作。

+的左右運算元必須至少有乙個是string型別的,eg:string str = "hello" +"," + "world\n" 是錯誤的。不能把字串字面值直接相加。

eg:string str = s1 + ",' + "world"是正確的,因為是s1 + ","將返回乙個string物件

3.const vectorciv(9,10);//蛋疼的定義。。乙個不能動的vector,裡面存了9個10。

對const vector定義迭代器是必須用vector::const_iterator 型別;不能用vector::iterator!!

4.vector還有個型別是dfifference_type用來存迭代器想減後的資料,是signed的。

5.bitset型別。cout出來時,右邊是低位,左邊是高位。

用string初始化是,是截斷右邊的

eg:string str("10111110011");

bitset<8> b(str);//注意。不能用const char *來做引數,必須用string型別!!!

cout << b << endl;

此時輸出b是10111110

bitsecb(s, pos. n)表示,從字串s的第pos位讀n個字元,作為bit。

賦值時,從字串裡讀出來的字元的最右邊為最低位,若讀取位數過多,截斷高位。

6.bitset和string的下標是反的!!string的最右邊,即下標最大的,在bitset中下標為0(最右邊)

7.&符號(取位址)只能作用於左值。

C Primer學習筆記 (二)

case true string file name getname break case false 這個 不行,想想 如果先執行了 false,然後false 裡面用到了 file name 怎麼辦?會提示沒有定義 並且編譯器會報錯 dev c 嘗試了 因此要在 true 後新增大括號 表明區域...

c primer學習筆記(二)

1.從const 成員函式返回 this 在普通的非 const 成員函式中,this 的型別是乙個指向類型別的 const 指標,可以改變 this 所指向的值,但不能改變 this 所儲存的位址。在 const 成員函式中,this 的型別是乙個指向 const 類型別的 const 指標,既不...

C Primer 學習筆記(二)

第二章 2.1乙個char的空間應確保可以存放機器基本字符集中任意字元對應的數字值,也就是說乙個char的大小和乙個機器位元組一樣 2.2可定址的最小記憶體塊稱為位元組,儲存的基本單元稱為字 2.3一般來說,float和double分別有7和16個有效位 2.4在算術表示式中不要使用char或boo...