/*ca55a_c++_函式引數傳遞_非引用形參
txwtech
非引用形參,傳引數,就是copy
1.普通形參
* 非const形參
* const形參,不能修改
2.指標形參
* 非const指標形參
* const指標形參
//addone2(a2);//error c2664: 「void addone2(int *)」: 無法將引數 1 從「const int」轉換為「int *」
不能把const傳給非const
非const實參可以傳給const形參
const可以傳給const
3.複製實參的侷限性
非引用形參,傳引數,就是copy,如果乙個陣列比較大,比如int a[1000000];
有些情況下,類裡面不能複製實參
class dog
void doa(dog dog)
引用形參。。。
/*ca55a_c++_函式引數傳遞_非引用形參
txwtech
非引用形參,傳引數,就是copy
1.普通形參
* 非const形參
* const形參,不能修改
2.指標形參
* 非const指標形參
* const指標形參
//addone2(a2);//error c2664: 「void addone2(int *)」: 無法將引數 1 從「const int」轉換為「int *」
不能把const傳給非const
非const實參可以傳給const形參
const可以傳給const
3.複製實參的侷限性
非引用形參,傳引數,就是copy,如果乙個陣列比較大,比如int a[1000000];
有些情況下,類裡面不能複製實參
class dog
void doa(dog dog)
引用形參。。。
*/#include using namespace std;
void addone(int x)//非引用形參,傳引數,就是copy
//傳指標的copy,位址的拷貝
void addtwo(int *px)//指標形參,(指標是非引用)
//引用形參,傳遞c本身,
void addthree(int& x)//引用形參,傳遞c本身,
int add(int x, int y)
int add2(const int x, const int y)//const形參
//非引用const 形參,傳引數,就是copy
void addone1(const int x)//非引用const 形參,傳引數,就是copy
//demo3
void addone2( int *ip)//
//const指標,值不能修改
void addtwo2(const int *px)//const指標,值不能修改
int add3(const int *px, const int *py)
//函式過載,函式名一樣,引數不一樣
void fcn(int i)//函式過載,函式名一樣,引數不一樣
void fcn(double i)//函式過載
int getbigger(int x, const int *y)
//void swap(int x, int y)//在main函式裡面,兩個值實際沒有交換
//void swap(int *x, int *y)//在main函式裡面,兩個值實現了交換
int main()
ca58a c 函式引數傳遞
ca58a c 函式引數傳遞 陣列形參 1.陣列不能複製 2.陣列的名稱是指向陣列的第乙個元素的指標 三種傳遞陣列的寫法,資料不修改,建議都加上const void printvalue 4 int x 10 寫上 x 小括號,表示x是引用,它引用的陣列 不寫,int x 10 的x是陣列,陣列裡面...
函式引數傳遞
引數傳遞的本質 實參給形參賦值的過程 1.1 位置引數之值傳遞 值傳遞指傳遞不可變型別,一般指string tuple和number型別 def func1 a print a a 10 print a temp 20 將temp作為實參傳遞給func1函式,將賦值給形參a 相當於 a temp f...
函式引數傳遞
位置引數 關鍵字引數 可變數量引數 def add x,y return x y add 3,4 7 def add x,y return x y add y 4,x 3 7 def test fun a,b 6,c,d print a a,b b,c c,d d test fun 1 a 1 b ...