C 開篇(七) 傳入引數使用值 引用 指標的場景

2021-08-18 11:25:48 字數 1030 閱讀 7489

內容來自《c++ primer plus(第6版)》

1、使用引用引數的主要原因

1)程式設計師能夠修改呼叫函式中的資料物件;

2)通過傳遞引用而不是整個資料物件,可以提高程式的執行速度。(當結構和類物件比較大的時候,這點尤為重要)

2、對於使用傳遞的值,但是不做修改的函式

1)如果資料物件很小,如內建資料型別或者小型結構,則按值傳遞;

void test1(int i);

2)如果資料物件是陣列,則使用指標,因為這是唯一的選擇,並將指標宣告為指向const的指標;

void test2(const char input_char_array);

3)如果資料物件是較大的結構,則使用const指標或const引用,以提高程式的效率。這樣可以節省複製結構所需的時間和空間;

void test3(const structtest& input_struct);

void test4(const structtest* input_struct);

4)如果資料物件是類物件,則使用const引用。類設計的語義常常要求使用引用,這是c++新增這項特性的主要原因。因此,傳遞類物件引數的標準方式是按引用傳遞。

void test5(const classtest& input_class);

3、對於修改呼叫函式中資料的函式:

1)如果資料物件是內建資料型別,則使用指標;

void test6(int* input_i);

2)如果資料物件是陣列,則只能使用指標;

void test7(char input_char_array);

3)如果資料物件是結構,則使用引用或指標;

void test8(structtest& input_struct);

void test9(structtest* input_struct);

4)如果資料物件是類物件,則使用引用。

void test10(classtest& input_class);

當然,這些知識一些指導原則,很可能有充分的理由做出其他選擇。

c 開篇 自引用指標this

c 中,有乙個特別的指標this,也叫自引用指標。這個指標的巧妙之處在於它永遠指向的是當前物件,由此便可以訪問當前物件的所有成員。這樣一來許多問題就得到了巧妙的解決。注意,this 是乙個指標,要用 來訪問成員變數或成員函式。當呼叫到printpoint函式時,通過物件來訪問成員,此處this指標接...

何時使用指標引數 引用引數 按值傳遞?

1 什麼是引用?如何使用引用?為什麼要使用引用?1 什麼是引用?引用變數是一種偽裝指標,它允許為變數建立別名 另乙個名稱 在初始化乙個引用變數時,必須對其進行初始化。2 何時使用引用?引用變數主要被用作處理結構和類物件的函式的引數。3 為什麼要使用引用?4 返回引用時的注意事項 2 什麼時候應使用引...

C 引用 指標 值

引用概念 引用不是新定義乙個變數,而是給已存在的變數取乙個別名。編譯器不給引用變數開闢空間。建立引用變數 c 給 符號賦予了乙個新的含義,用來宣告引用,如下 int a 10 int ra a ra為a的引用 此處ra與a的值和位址都相同,其實就是同一記憶體空間的取得兩個名字 注意 int b 20...