>> SIARADWR 1: Mae'n troi allan y gallwn gyfnewid y gwerthoedd yn llwyddiannus mewn dau
newidynnau drwy eu pasio i mewn i gweithredu'n nid gan werth neu ar ffurf copi, ond
drwy gyfeirio neu gan eu cyfeiriadau.
Mewn geiriau eraill, mae angen i ni trosoledd rhywbeth a elwir yn pwyntydd.
Mae pwyntydd, mewn gwirionedd, dim ond y gyfeiriad rhai amrywiol.
Ac felly os ydym yn darparu swyddogaeth o'r enw, dyweder, cyfnewid gyda chyfeiriad
newidyn a chyfeiriad arall amrywiol, dylid cyfnewid gael y grym i
mynd i bob un o'r cyfeiriadau hynny ac yn newid mewn gwirionedd yn y
gwerthoedd sydd yno.
>> Gadewch i ni weld hyn mewn cyd-destun.
Gadewch i reimplement cyfnewid fel a ganlyn.
Yn gyntaf, gadewch i ni newid i beidio â fod yn int ond i fod pwyntydd i int neu
gyfeiriad o int.
Yna gadewch i ni wneud yr un peth ar gyfer b, newid mae'n o int i fod yn pwyntydd i
int neu gyfeiriad o int.
>> Yna tu mewn cyfnewid, gadewch i ni yn dal i datgan tmp fel bod gennym
lle dros dro am werth ei.
Ond nid yw yn werth yn ei hun, oherwydd, eto, mae yn awr yn y cyfeiriad
o ryw int.
Felly, os ydym am fynd i'r cyfeiriad hwnnw a cael int yn y cyfeiriad hwnnw, rydym wedi
dereference pwyntydd hwn, hefyd ar ffurf y gweithredwr seren, ysgrifennu seren a.
>> Nesaf, nid wyf am newid gwerth a.
Yr wyf am newid y gwerth ar yn, gan gadw mewn cof, unwaith eto,
bod yn gyfeiriad.
Felly, er mwyn gwneud hynny, yr wyf unwaith eto mae angen i ddweud seren yn ei gael.
Ac yn awr yr wyf am roi yn y gwerth dyna yn b, nad yw gwerth b, a oedd yn
hefyd yn gyfeiriad.
>> Felly, unwaith eto yr wyf yn dweud, seren b.
Yna, yn fy llinell olaf, mae angen i fi trosysgrifo yr hyn sydd yn y cyfeiriad b gyda
yr hyn a oedd yn ei leoliad gwreiddiol.
I wneud hynny, yr wyf yn seren b yn cael tmp.
>> Nawr ar ddiwedd y dydd, mae hyn yn swyddogaeth yn dal i fod yn unig
tair llinell o god.
Ond, oherwydd ei fod yn trin gwerthoedd drwy eu cyfeiriad ac nid y
gwerthoedd amrwd a oedd yn pasio i mewn i'r swyddogaeth, yr wyf yn honni bod cyfnewid yn awr yn
grym i newid y gwerthoedd sy'n yn cael eu trosglwyddo i mewn drwy eu cyfeiriadau.
>> Ond mae angen i mi wneud un newid o hyd.
Yr wyf yn gallu pasio mewn dim mwyach x ac y eu hunain.
Angen i mi basio yn y cyfeiriadau x ac y.
Ac i wneud hynny, mae angen rhai i mi ychydig yn gwahanol top nodiant i fyny.
Rwyf am i gyfnewid x ac y drwy basio mewn cyfeiriad x, a nodwyd gan
ampersand x, a chyfeiriad y, a nodwyd gan ampersand y.
>> Yn yr un modd, i fyny top erbyn hyn y mae angen i I newid prototeip y swyddogaeth i
cyd-fynd â'r newid fy mod wedi gwneud, fel bod a yw, unwaith eto, mae pwyntydd i int.
b yw, unwaith eto, mae pwyntydd i int.
Ac yn awr y gallaf ei gynilo fy ffeil.
A gadewch i ni ail-grynhoi a'i redeg.
>> Gwneud cyfnewid cyfnewid dot slaes.
A'r tro hwn, x ac y yn wir yn awr yn cyfnewid o'r fath nad yw eu gwerthoedd
1 a 2, ond 2 ac 1.