C 中一般引用作形參和常引用作形參的問題

2021-10-05 19:21:02 字數 698 閱讀 6435

常數沒有位址,對於常數的引用必須是個const&,

同樣的,如果x是個const的話,int g(int &a)也會報錯:

結論:如果不需改變形參的值又不用作引數傳遞(實參賦值給形參),用常引用作形參適應面最廣:實參可以是變數也可以是常量。

如果需要改變形參的值,用引用作形參最合適:實參必須是變數不允許是常量。

如果不需改變形參的值又可以用作引數傳遞(實參賦值給形參),用普通變數作形參:多了傳遞引數的開銷。

對比一般引用作形參和常引用作形參

一般引用作形參:

1.不用作引數傳遞(實參賦值給形參),節省開銷,提高效率。

2.函式可以改變形參的值

3.實參不能是常量

常引用作形參有3個作用:

1.不用作引數傳遞(實參賦值給形參),節省開銷,提高效率。

2.函式不能改變形參的值

3.實參可以是常量

指標的引用作形參

include stdafx.h include iostream using namespace std typedef struct pos pos void func pos p 指標的引用 int tmain int argc,tchar argv pos p cin p.x p.y pos...

常指標 常引用作為形參和返回值

include using namespace std const int n 10 intsum1 const int p return sum void sum2 const int p,int s 常量指標,普通指標,無返回 const int sum3 const int p,int s 指...

指標和引用作為形參傳遞下去的區別

int n int m n 在c 中,多了乙個c語言沒有的引用宣告符 如上,m就是n的引用,簡單的說m就是n的別名,兩者在記憶體中佔同樣的位置,不對m開闢新的記憶體空間,對m的任何操作,對n來說是一樣的。對於引用,有以下三條規則 1 引用被建立的同時必須被初始化 指標則可以在任何時候被初始化 2 不...