C 筆記之談談 引用 的那些事

2021-08-03 07:31:39 字數 895 閱讀 9485

一. 引用的概念

閒扯:在上大學的時候,學習c語言,就被指標折磨的死去活來,現在想想,老師怎麼就那麼不懂我們的心,把我們帶上了不歸路。

引用是c++中較c新增的功能,他是對指標的二次封裝(重要)。

變數名,本事是一段記憶體的引用,即別名。此處引入的引用,是為已有變數起乙個別名。

宣告如下:

int m;

int &rm = m;

二.特點

1. 型別與原型別保持一致,且不分配記憶體,與被引用的變數有相同的位址。

此特點可以用於函式的形參定義;

int getcontent(char* &ch,int& n)

2. 宣告的時候必須初始化,一經宣告,不可更改。

這裡說的更改是更改內容位址,即宣告之後,內容位址的不變的;

int m,n;

int &rm = m;

int &rm = n; // 錯誤,不可更改原有的引用關係

3. 可以對引用再次引用,多次引用的結果,是某乙個變數具有多個別名。

int m;

int &rm = m;

int &&rrm = rm;

4. &符號前有資料型別時,是引用,其他的情況皆為取位址。

int m;

int &rm = m; // &為引用

cout<<"&rm = "<<&rm<

引用的本質是指標,c++對裸露的記憶體位址(指標)做了一次包裝,又取得指標的優良特性,所以,在對引用取位址,建立引用的指標沒有意義了。

即,♦ 沒有引用的引用

♦ 沒有引用的指標

♦ 沒有引用的陣列

c 那些事 筆記

c 那些事 修飾變數 常量 相比 define,可以節省空間,避免 define定義的常量在記憶體中有若干個拷貝 防止被修改 型別檢查 修飾指標 不同位置作用不同,在變數前代表指標不可改變,其他位置代表指標指向的內容不可變 修飾引數 不可修改引數 修飾函式 函式體不可修改類物件 修飾函式返回值 返回...

談談建構函式的那些事

看過 c efficient 都應該明白以下幾點 1.最好有自己的拷貝建構函式 1.1 在函式引數為物件時,那麼在函式呼叫時,會呼叫拷貝構造生成乙個臨時物件 1.2 在函式返回值為乙個物件時,也會呼叫拷貝建構函式 1.3 拷貝建構函式一定要傳引用,如果穿乙個值,就會調拷貝構造,在乙個函式裡面,自己呼...

談談頁面效能的那些事

前言 一般頁面訪問的 258 原則,在2s內響應,很快,在2 5s內響應,速度還行,5 8s內響應,速度較慢,但還能接受,超過8s,槽糕透了。所以,頁面的效能首先決定了使用者的體驗,只有使用者體驗好才能給 帶來更多的使用者,除此之外,好的前端優化還能降低企業成本,提高公司利益。一 將靜態資源 例如j...