C++的形参
形參
- 1.非引用形參
- 1.1 普通形參
- 1.1.1 非const形參
- 1.1.2 const形參
- 1.2 指針形參
- 1.2.1 非const指針形參
- 1.2.2 const指針形參
- 2.引用形參
1.非引用形參
1.1 普通形參
1.1.1 非const形參
傳入的形參形式為 v o i d f u n c ( i n t x ) void \quad func(int \quad x) voidfunc(intx)
特點: 不改變實參的值,傳入的實參可以為相同類型變量,字面值,const類型.
輸出:
結論: 非const形參,并不改變實參值。
1.1.2 const形參
傳入的形參形式為 v o i d f u n c ( c o n s t i n t x ) void \quad func(const \quad int \quad x) voidfunc(constintx)
以上紅色框中,不可改變x的值,否則,運行報錯。
**結論:**和非const形參一樣,不改變實參的值
1.2 指針形參
1.2.1 非const指針形參
傳入的形參形式為 v o i d f u n c ( i n t ? x ) void \quad func(int* \quad x) voidfunc(int?x)
輸出:
結論: 這里,a,b前后的值發生了改變,這是因為改變了實參的所在地址內的值,即改變了原值。若改成 x = x + 1 x=x+1 x=x+1,則前后a,b值不變。
1.2.2 const指針形參
傳入的形參形式為 v o i d f u n c ( i n t ? c o n s t x ) void \quad func( int*\quad const \quad x) voidfunc(int?constx)
或
v o i d f u n c ( i n t c o n s t ? x ) void \quad func( int\quad const* \quad x) voidfunc(intconst?x)
v o i d f u n c ( c o n s t i n t ? x ) void \quad func(const \quad int* \quad x) voidfunc(constint?x)
第一種形式:const修飾x的值,所以理解為x的值不可以改變,即x只能指向固定的一個變量地址,但可以通過*x讀寫這個變量的值。
第二種和第三種形式一樣,兩種情況中const修飾x,所以理解為x的值不可以改變,即不可以給*x賦值改變x指向變量的值,但可以通過給x賦值不同的地址改變這個指針指向。
2.引用形參
以上存在不足,望不吝賜教
總結
- 上一篇: python寒假培训第二课
- 下一篇: 一个男人不顾家的表现有哪些?