C 學習 (02)傳值 傳引用 傳位址

2021-09-26 04:24:28 字數 788 閱讀 5102

#include 

using namespace std;

class

complex

//內聯函式

inline int imag

() const

complex operator+

(complex &n);}

; complex:

:complex

(int r =

0,int i =0)

: re (r)

,im (i)

//建構函式的初始化列表

complex::~

complex()

complex complex:

:operator+

(complex &n)

ostream & operator<

<

(ostream &os,complex n)

//修改的地方

main()

將這行**:

ostream & operator<<(ostream &os,complex &n)

修改為:

ostream & operator<<(ostream &os,complex n)

結論:

a+b,這樣的語句建立的是乙個臨時物件,我們可以進行傳值、賦值的操作,但是不能傳引用。

傳值 傳引用 傳位址

1.值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。void swap int a,int b 呼叫 int x,y swap x,y 實...

傳值 傳位址 傳引用 的區別

傳值 傳位址 傳引用 1 傳值 優點 函式的 不會影響外部的實參 可讀性較高 缺點 傳參效率低 不能通過形參改變實參 對實參有保護作用 void swap int x,int y 2 傳位址 優點 傳參效率高 傳位址只需要4個位元組 確定 傳值變數大小不確定,有可能佔很大空間 可以通過形參改變實參 ...

傳值呼叫與傳位址呼叫(傳引用)

c c 中引數傳遞有兩種方式,傳值或傳位址 傳引用 通常我們要在被呼叫函式中改變乙個變數的值就需要傳位址呼叫方式,例如 void swap by value int a,int b void swap by ptr int pa,int pb int main int argc,char argv ...