日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C++實例講解引用的使用_C 語言

作者:tianyvHon ? 更新時間: 2022-07-28 編程語言

1.什么是引用

引用可以看作是一個已經定義的變量的別名,其作為變量別名而存在。

2.引用的用法

2.1 普通引用

當引用作為普通引用時,其使用語法如下所示:

Type& new_name = old_name;

e.g.

int a = 0;
int& b = a;
b = 5;				// 此時,a = 5

注意

在定義時必須使用相同類型的變量進行初始化

不能使用常量進行初始化

int& b = 0;

2.2 const 引用

在 C 語言中,const 使所修飾的變量具有只讀的屬性。同樣,在 C++ 中仍具有這個屬性。其使用語法如下所示:

int a = 0;
const int& b = a;
b = 5				// error,變量 b 是只讀變量

注意:

在定義時必須使用相同類型的變量進行初始化

當使用常量進行初始化時,C++ 編譯器會為常量值分配空間,并將引用名作為這段空間的別名

e.g.

const int& a = 0;

2.3 作用在函數參數

引用在一些場合可以代替指針來使用,具有如下優點:

  1. 功能性:可以滿足多數需要使用指針的場合
  2. 安全性:可以避開由于指針操作不當而帶來的內存錯誤
  3. 操作性:簡單易用

e.g. 在函數參數方面使用引用

void Demo(int& a, int& b)
{
    int t = a;
    a = b;
    b = t;
}

e.g. 使用指針來實現上述函數的功能

void Demo(int* a, int* b)
{
    int t = *a;
    *a = *b;
    *b = t;
}

2.4 作用在函數返回值

引用不僅可以作用在函數的參數方面,而且可以作用在函數的返回值方面,即返回指針

e.g.

int& Demo()
{
    static int i = 0;
    printf("Demo: i = %d\n", i);
    return i;
}
int main()
{
    int& j = Demo();
    printf("main: j = %d\n", j);
    j = 11;
    Demo();
    printf("main: j = %d\n", j);
    return 0;
}

3.引用的本質

引用在 C++ 中的內部實現是一個指針常量,即 Type& name == Type* const name。因此,引用所占用的空間大小與指針相同。

原文鏈接:https://blog.csdn.net/weixin_44916154/article/details/124917215

欄目分類
最近更新