C 引用傳遞

2021-07-09 21:27:15 字數 520 閱讀 2089

以前對引用傳遞一知半解,尤其是 & 符號。現在做一下梳理。

get idea from here.

先來看下 alias:

int i = 5;

int &j = i; // j is an alias to i

j = 5;

這裡 j 就是 i 這個變數的另乙個名字。所以這個物件現在有兩個名字 i 和 j.

現在就好理解引用傳遞了。用這種方法,形參就變成了實參的乙個 alias.

1

#include

2using

namespace

std;

3//值傳遞

4void change1(int n) 89

//引用傳遞

10void change2(int & n)

14//指標傳遞

15void change3(int *n)

19int main()

C 引用傳遞

學過c 的人都知道,通過值或通過引用,值型別和引用型別都可以作為方法引數傳遞。在c 中,不管是值型別或者是引用型別,所有方法引數在預設情況下是通過值傳遞的。1 通過值傳遞值型別 在通過值傳遞作為方法引數的變數時,傳遞給方法的是資料副本。在方法中對該資料的任何修改都不會對初始值有任何影響。c 如下 u...

C 引用傳遞

學過c 的人都知道,通過值或通過引用,值型別和引用型別都可以作為方法引數傳遞。在c 中,不管是值型別或者是引用型別,所有方法引數在預設情況下是通過值傳遞的。1 通過值傳遞值型別 在通過值傳遞作為方法引數的變數時,傳遞給方法的是資料副本。在方法中對該資料的任何修改都不會對初始值有任何影響。c 如下 c...

c 值傳遞 位址傳遞 引用傳遞

一.函式引數傳遞方式之一 值傳遞 1 值傳遞的乙個錯誤認識 先看題一中exchg1函式的定義 void exchg1 int x,int y 定義中的x,y變數被稱為exchg1函式的形式引數 問 你認為這個函式是在做什麼呀?答 好像是對引數x,y的值對調吧?請往下看,我想利用這個函式來完成對a,b...