>> Oratè 1: Li sanble sa nou kapab avèk siksè swap valè yo nan de
varyab pa pase yo nan yon fonksyone pa pa vo anyen oswa pa kopi, men
pa referans oswa pa adrès yo.
Nan lòt mo, nou bezwen ogmante yon bagay yo rekonèt kòm yon konsèy.
Yon konsèy, reyèlman, se jis nan adrès nan kèk varyab.
Se konsa, si nou bay yon fonksyon rele, di, swap ak adrès ki nan
yon varyab ak adrès la nan yon lòt varyab, swap yo ta dwe pouvwa
ale nan chak nan adrès sa yo ak aktyèlman chanje a
valè ki la tou.
>> Ann wè sa a nan yon kontèks.
Se pou yo reimplement swap jan sa a.
Premyèman, se pou yo chanje yon pa yo dwe genyen yon Int men yo dwe yon konsèy nan yon Int oswa nan
adrès nan yon Int.
Lè sa a, se pou yo fè menm bagay la pou b, chanje, li soti nan yon Int yo dwe yon konsèy nan yon
int oswa adrès la nan yon Int.
>> Lè sa a, andedan nan swap, se pou yo toujou deklare tan pou nou gen yon
kote pou yon ti tan pou yon valè an.
Men, yon nan valè se pa yon tèt li, paske, ankò, yon se kounye a adrès la
nan kèk Int.
Se konsa, si nou vle pou yo ale nan adrès sa a epi jwenn Int nan adrès sa a, nou gen
dèreferans konsèy sa a, tou pa fason pou operatè a etwal, ekri zetwal yon.
>> Apre sa, mwen pa vle chanje valè a nan yon.
Mwen vle chanje valè la nan yon, kenbe nan tèt ou, ankò,
ke yon se yon adrès.
Se konsa, yo fè sa, mwen ankò bezwen yo di etwal yon vin.
Koulye a, mwen vle mete nan valè a sa a, se nan b, pa valè b, ki
tou se yon adrès.
>> Se konsa, ankò mwen di, zetwal b.
Lè sa a, nan liy dènye m 'yo, mwen bezwen recouvrir sa ki nan adrès b ak
sa ki te nan yon nan kote orijinal la.
Pou fè sa, m 'fè zetwal b vin tan.
>> Koulye a, nan fen jounen an, sa a fonksyon se toujou jis
twa liy nan kòd.
Men, paske se li nan manipile valè pa fason pou adrès yo epi yo pa la
valè anvan tout koreksyon ki te pase nan an fonksyon, mwen reklamasyon ke swap se kounye a
pouvwa a chanje valè yo ki yo te pase nan atravè adrès yo.
>> Men, mwen bezwen fè yon chanjman toujou.
Mwen pa kapab pase nan x ak y tèt yo.
Mwen bezwen pase nan adrès yo nan x ak y.
Apre sa, yo fè sa, mwen bezwen kèk yon ti kras diferan notasyon moute tèt.
Mwen vle swap x ak y pa pase nan adrès ki nan x, sa endike nan
komersyal x, ak adrès ki nan y, sa endike nan komersyal y.
>> Menm jan an tou, moute tèt koulye a, mwen bezwen chanje nan pwototip fonksyon an nan
matche ak chanjman sa a ki mwen te fè, se konsa ke yon se, ankò, yon konsèy nan yon Int.
b se, ankò, yon konsèy nan yon Int.
Koulye a, mwen ka sove dosye mwen.
Li kite yo compile epi kouri li.
>> Fè swap koupe swap dot.
Apre sa, tan sa a, x ak y yo tout bon kounye a échanjé sa yo ki valè yo pa
1 ak 2, men 2 ak 1.