C Primer3 讀書筆記 2

2021-03-31 12:12:22 字數 1293 閱讀 7368

第二部分

基本語言

第三章 c++ 資料型別

1.當乙個數值例如1出現在程式中時,它被稱為文字常量literal constant ,稱之為文字是因為我們只能以它的值的形式指代它;稱之為常量是因為它的值不能被改變

。0 是int 型,而3.14159 是double 型的文字常量,文字常量是不可定址的nonaddressable,

儘管它的值也儲存在機器記憶體的某個地方但是我們沒有辦法訪問它們的位址。 2.

如果兩個字串或寬字串在程式中相鄰,c++就會把它們連線在一起並在最後加上乙個空字元。例如

"two" "some"

它的輸出結果是twosome。

3.

c++關鍵字

4.如

果乙個變數是在全域性域global scope 內定義的,那麼系統會保證給它提供初始值0。如果變數是在區域性域local scope 內定義的,或是通過new 表示式動態分配的則系統不會向它提供初始值0 。這些物件被稱為是未初始化的uninitialized,未初始化的物件不是沒有值而是它的值是未定義的undefined,與它相關聯的記憶體區中含有乙個隨機的位串可能是以前使用的結果。 5.

當指標持有0 值時,表明它沒有指向任何物件。 6.

const double *cptr(其指向的內容不變),

cptr 是乙個指向double 型別的const 物件的指標,我們可以

從右往左

把這個定義讀為cptr,是乙個指向double 型別的被定義成const 的物件的指標。 7.

int errnumb = 0;

int *const curerr = &errnumb;

curerr 是指向乙個非const 物件的const指標,我們可以

從右拄左

把定義讀作curerr,是乙個指向int 型別物件的const 指標,這意味著不能賦給curerr其他的位址值,但可以修改curerr 指向的值。 8.

指向const 物件的const 指標的定義就是將前面兩種定義結合起來例如

const double pi = 3.14159;

const double *const pi_ptr = π

在這種情況下pi_ptr 指向的物件的值以及它的位址本身都不能被改變,我們可以

從右往左

將定義讀作pi_ptr ,是指向被定義為const 的double 型別物件的const 指標。

C primer 讀書筆記(3)

指標 1.指標類似於迭代器,有 操作和 操作。要注意的是,最好不要留下不初始化的指標,這樣很容易引起錯誤,而且很難發現,但是初始化為0的指標是可以被發現的,即不指向任何物件的空指標,所以如果指標暫時沒有要指向的物件,最好初始化為0,也可以用cstdlib庫里的null變數來初始化空指標,null不在...

C Primer讀書筆記(3)

vector 本科時學c 的時候沒學過vector,正好補一下。第乙個要注意的地方是要正確區分列表初始值還是元素數量。第二點是不能使用範圍for向vector物件新增元素,範圍for語句體內不應改變其所遍歷序列的大小。不能用下標形式給vector新增元素 迭代器 陣列的大小要定義為乙個常量。陣列的內...

《C Primer》讀書筆記(2)

1.const關鍵字 當我們定義一種變數,不希望改變其值的時候,使用const關鍵字來修飾。即常量。使用的時候一定要注意,定義乙個常量的時候一定要初始化,且只能在初始化的時候賦值,之後不能進行修改。2.const引用 這個地方經常糾結,這次一定要搞懂。常量引用不是引用是個常量,而是引用的物件是個常量...