C Primer學習之一引用和指標

2021-10-07 07:08:31 字數 934 閱讀 7030

引用是一種復合型別,引用分為左值引用和右值引用,其中右值引用時c++11提出來的,

常說的引用其意為左值引用。注意:引用不是物件,它是乙個物件(變數)的別名,不能改變引用的物件,故必須在初始化的確定引用的物件。

引用的型別必須和被引用變數的型別一致,但有兩種例外情況。

①const引用

double dval = 3.14;

const int &r1 = dval;

其內部轉化為:

const int temp = dval;

const int &r1 = temp;

temp是乙個臨時量,即是乙個未命名的物件。所以如果r1不是常量引用,那麼即是允許通過引用改變常量了,故c++語言將它歸為非法,編譯報錯。

②c++primer p534 // 看到再完善

(2)右值引用 // 看到再完善

c++primer p471

如:

const int * const p; // 這裡的p是乙個常量指標(右邊const確定),指向整形常量(左邊const確定)。
如:

constexpr int *p1; // 這裡的p1是乙個指向整形常量指標。

constexpr const int *p2; //這裡的p2是指向整形常量的常量指標。

如:

typedef char *pstring; 

const pstring ctrs = 0;//cstr是指向char的常量指標 

const char * str = 0; // str是指向const char的指標

const pstring *ps; // ps是乙個指標,它的物件是指向char的常量指標

售前考題之一 引用

原來題目如下 題目 說北京某家樂福地下超市老闆問你乙個問題,他說 我們家樂福,每天有許多人進進出出,每天的營業額在200來萬,你知道嗎,我問你乙個問題,除了看每天的財務報表以外,你如何計算我每天的營業額,我可以告訴你,平均每個顧客的購物在95元,每天營業時間為12小時,這個平均是2個月以來的平均數,...

復合型別之一 引用

總 復合型別 1.1.引用 reference c 11中新增了一種引用 所謂的 右值引用 主要用於內建型別,嚴格來說,當我們使用術語 引用 時,指的其實是 左值 引用。引用是為物件起了另外乙個名字,引用型別引用另外一種型別。假設d是宣告的變數名 int ival 1024 int refval i...

C Primer 筆記五 引用 const 1

定義 const 物件 常量在定義後就不能被修改,所以定義時必須初始化 在全域性作用域宣告的 const 變數是定義該物件的檔案的區域性變數。此變數只存在於那個檔案中,不能被其他檔案訪問。這種情況解決辦法 通過指定 const 變更為 extern,就可以在整個程式中訪問 const 物件 file...