|
int func_a(int a)
: E1 B$ N* V1 t3 Z6 j6 t{% \' }+ `$ ] _4 c& H
a++;
6 i0 H5 ]) X8 U return a;
3 r. Q4 I4 `' i x( H7 i; L" h}: v2 _ R- _: l4 f6 f! ]
7 S, ]6 }3 z6 F+ K% k//形參值改變不影響實參. D4 w6 N. |( a8 o7 I
% j3 _ X1 M. q( J
int func_b(int& a)0 u6 {& V5 s) v$ o
{- k5 Y6 n% v! G' q, D x
a++;: j; g k7 s7 K. s
return a;
* A* A% [ F, M7 F1 Y; P}
) Q2 S) t- x$ t% n% S
' m8 c1 p5 U& f6 j) h//引用作為形參,被引用的變量在函數(shù)體內(nèi)改變將影響其變量值. l9 l* Z9 D4 L! e* `5 H
]2 x+ o/ R! \# _5 |8 k1 e; \int main()
; a! @7 Q* ?1 N4 q( Q; X2 Y3 I$ T" D{$ T+ k1 p! R$ r% r! C& F" P
int a = 1;
9 K( i$ Q. }: X int b, c, d;
5 B$ ?" n' ^1 f3 r- R6 g' x b = func_a(a); //b=a+1,,b=2,,執(zhí)行完這條后,a=1) o' S# y8 V) b$ Z; V
c = func_b(a);//c=a+1,,c=2,,執(zhí)行完這條后,a=2,,因引用的形參改變將影響實參值, z% k7 b. b* K; A8 H" Q. b( C3 w
d = a;//d=2,,不解釋了
+ V- k% e& ~5 r}* h. B; d5 I0 k0 \
) D) z6 H0 d5 h1 |另,b,c,d定義時均未設(shè)定初始值,不是好習慣,,windowns編譯器int類型變量默認值為0,,但是其他系統(tǒng),比如linux,,值是未定的,,所以此段代碼,在不同的系統(tǒng)上運行可能有不同的結(jié)果 |
|