從小白開始學習C 引用變數

2021-10-08 22:07:55 字數 1439 閱讀 5930

c++新增的一種新的復合型別——引用變數

引用是已定義的變數的別名

這是什麼意思呢?

下面我們來看個**片段:

int

main()

下面是輸出結果:

101

1017208680

7208680

這是什麼意思呢?

簡單來說就是給原來的變數建立乙個別名

可以通過這個別名來訪問這個原來的變數

基本的命名規則:

typename & name

跟指標的命名方式差不多,將*換成&即可

所以上面rats的別名就是rodent

而且注意到輸出位址時,他們的位址是一樣的,也就是說

當通過別名或者變數名修改值的時候,不論是變數還是別名,儲存的值都會改變。

這裡還要注意一點:必須在宣告引用的時候將其初始化

寫成下述方式,編譯報錯

int rat;

int&rodent;

rodent = rat;

最上面的**塊才是正確的書寫方式

下面我們來看看將引用作為函式引數的例子

這裡就要提到最最經典的c語言的問題,交換兩個變數的值的問題,我們都知道如果編寫乙個普通的函式,通過交換形參的值是無法交換實參的值的,在c中我們通過指標來解決這個問題,在c++中我們有了新的方法

下面看這個**塊:

#include

#include

using

namespace std;

void

swapr

(int

&q,int

&p)void

(int

*p1,

int*p2)

void

swape

(int p,

int q)

intmain()

輸出結果:

101

1010x6dfee8

0x6dfee8

1210

1210

1012

從**的執行結果可以看到

指標和引用都能順利的將兩個變數的值交換

我們使用引數的主要原因:

1 能夠修改呼叫函式中的資料物件

2 通過傳遞引用而不是整個資料物件,可以提高程式的執行速度

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

1 如果資料物件時內建資料型別,使用指標

2 資料物件是陣列,只能使用指標

3 資料物件是結構 ,引用和指標都可以

4 資料物件是類物件,使用引用

從小白開始

記錄學習的時光,讓文章成為回憶。quit 退出伺服器的連線 show databases 顯示當前資料庫伺服器下所有的資料庫 use 資料庫名 進入指定的資料庫 show tables 顯示當前資料庫的表 desc 表名 describe 描述表中有哪些列 show create table 表名 ...

從小白開始學習Python學習筆記

從小白開始學習python學習筆記 ps markdown的功能操作好多,不捨得刪除,先放著吧。撤銷 ctrl command z 重做 ctrl command y 加粗 ctrl command b 斜體 ctrl command i 無序列表 ctrl command shift u 有序列表...

從小白開始的python筆記三

list是一種有序的集合,可以隨時新增和刪除其中的元素。用len 函式可以獲得list元素的個數 len classmates 3 用索引來訪問list中每乙個位置的元素,記得索引是從0開始的 print classmates 1 c 如果要取最後乙個元素,除了計算索引位置外,還可以用 1做索引,直...