C Primer第五版學習筆記十 引用與指標

2022-08-24 06:03:13 字數 728 閱讀 9664

引用:給物件起了乙個另外的名字,引用必須初始化

引用不是物件,它只是給已經存在的物件起了乙個別名,所以對引用的所有操作,都是在與之繫結的物件上進行的

因為引用不是物件,所以不能定義引用的引用

引用型別要跟與之繫結的物件型別嚴格匹配,且只能幫在物件上,不能與字面值或表示式綁在一起

#include int

main()

指標與引用的不同:

1 指標本身是乙個物件,允許對指標賦值或拷貝,在指標的生命週期裡,它可以指向不同的物件

2 指標無需在定義時賦初值,如果沒有初始化,將是乙個不確定的值

指標的型別要與所指向的物件型別一致

利用指標訪問物件,使用解引用符*

空指標:不指向任何物件 nullptr

void* 指標是特殊的指標型別,可用於存放任何物件的位址。但是對於該位址中存放的是什麼型別的物件,並不知道。所以不能直接操作void*指標所指的物件

指標的指標:通過*的個數可以區分指標的級別,**表示指標的指標,***表示指標的指標的指標,以此類推

指向指標的引用:因為指標是物件,所以可以定義引用繫結到指標上

#include int

main()

變數的宣告:

int* p1, p2;  // *修飾的是p1,並不作用於p2, 所以這句話,宣告了乙個指向int的指標(p1),宣告了乙個int型(p2)

如何學習C primer 第五版

c primer 第一次可以跳著看。關鍵是要盡快用起來,在使用中熟練,而不是在細節中迷失。以c primer第五版為例,第一遍讀的時候 part1也就是前七章,除了6.6,6.7節,都要通讀。尤其是第三章初步介紹了vector和string,簡直就是新手福音,搞定這兩個容器就能寫一些簡單的程式。pa...

C Primer第五版筆記 關聯容器

一 型別 關聯容器支援高效的關鍵字查詢和訪問,標準庫中兩個主要的關聯容器是map和set。map中的元素是鍵值對關鍵字表示索引。set中每個元素只包含乙個關鍵字,set支援高效的關鍵字查詢。關聯容器根據三個特性可以分為8種 1 set還是map 2 關鍵字是否可以重複,允許重複的容器名字中都包含單詞...

C Primer第五版筆記 動態陣列

allocator類 為了讓new分配乙個物件陣列,需要在型別名後跟方括號,括號中是分配物件的數目,該數目必須是整型,但不必是常量 new t 分配的記憶體並不是得到乙個陣列,而是得到乙個陣列元素型別的指標,因此不能對動態陣列呼叫begin和end 與普通陣列不同的是,普通陣列不能定義長度為0的陣列...