cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · !...

73

Transcript of cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · !...

Page 1: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ������������� �� ������� ����� ������� �

!�"$#&%'%)(+*-,).0/013254'#6.7 1$898:13458:1<;>=�#6898:13?61

@-A BDC C�EGFIHKJKL6MON BPH-Q�R-ATSUE'BVM WX�Y 8:8[ZV\6\IZK]-^&1$2'45_:#&.a`

bdcDegfUhTiTjlkPmonlp$qUegf�egp3qrnlpDhPn'hsqtiunlv3i<wgv<n�egp$qtiyxzpse{p$qr|tiThTkDj}qtegi<psqti�~�x<pDh�~�������i<|o�P|ri<�3|rx<mom�n'|rf� cPi3ftno�P|tegmUxz|r��nl���&nl|regnlpDjlnUegf��$x�v�xP�)~�e�f�x�m�kVjGc�f�egmo�Pw{n'|�xzpVh�i3wghPnl|�w�xzpP�3kDxz�3n�qtcDx<p+�$x�v�xP� �V���PkTqqtcDxzq�f�egmo�Pwgegjle�q���hTi�n'f[pDizq�pPn5j}n5ftfrxz|re{wg��mUxz�3n�e�q�n'x<ft����i3|��$x�v�x �D|ti3�<|Gxzmomonl|Gfl�¢¡Te{moegwgx<|twg�<�V�Vn5jlxzkVf�n ~����nlv<i3w{v3n'h£��|ti3m~�� e{q�f�cDx<|tn5f�mox<p��£iz�¤qtcPn�hPn'fte{�3pujl|te{qtn'|te�x�i<�¥~��KxzpDhuf�i�e{q�jlx<pux<wgfti��Vn�jli<pT��kDftegpP�)��i<|�3x�v�x �P|ti3�<|Gxzmomonl|Gfl�

¦�pT��i<|tqtkDpDx�qrnlwg�<�6qtcDegf§hTiTj}kDm�n'p$q�e�f§f�qre{wgw0e{p�qtcPn+¨thP|rxz�©qrª�f�qrx<�<n<�6�Dx<|�qregjlkPw�xz|rw{�)qtcDn�jGcDx<�Tqtn'|rf�i<p+~ �����f�i�«¢cDi<�&n��<i<k�¬ wgwI�Vn5xz| � e{qtc�mon<�®­�w{n5x<ftn�wgn}q¥mon���pPi � i<�-x<p$�¯f�kP�3�<n5f�qre{i3pDf¤�<i<k)cDx�v3n�qriUe{mo�P|ri�v<n�e�q5�

Page 2: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

Page 3: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� �����������

� ����������������� �� � � « p$qt|riThTkDj�qre{i3p��§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �� � � � qtcDnl|�¡�i3kP|Gj}n'f ���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �� � � ~���n5f�eg�<p ­®cDe{wgi3fti<�Pc�� ���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �� � � �®|r|ri<|Gf �§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �� � �"!+xz|rpPe{pD�3f[xzpVh$#�hTv�egjln§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� %� � % ~¢i<p�v3nlp$qtegi<pDf)�§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� &

')(+*���,-*.�/��0214365 7�98;:��<5>=@?A�B��CB?A�4� �D�

�P� � ~ ¡���p3qGx�� ���§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � ~¢i<momonlp$qGf����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � ~¢i<pVf�qGxzp$qrfa���§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � EPkDpDj�qre{i3p�¡���p3qGx�� ���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� �D� � ~¤x<w{wge{pD�+EDkPpDj}qtegi<pDf������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� �D� � ��nGFDpDe{pP�HEDkPpDj}qtegi<pDf ���§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� �D� � I�i�j'xzwKJ®x<|te�xz�Pwgn'f��������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� � ­®|regp3qre{pD� �����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � %�P� �T� � ­�|tegp$qtegpP�+J®xz|regx<�Pw{n5f ���§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � %�P� �T� � �®�Tx<mo�Pw{n5f����§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � %�P� �T� � L¤kDM6nl|rn'h�­®|regp3qre{pD�y�����§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � &

�P� % b¢�$�&n'f �§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �-N�P� %P� � « p$qtn'�<n'|rf��§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �-N�P� %P� � L¤i�i<wgn'x<pDf ���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �-N�P� %P� � ~¢cDx<|rx3j�qrnl|Gf �§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �-O�P� %P� � b¢���Vn5jlx<f�qtegpP�u�§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �QP�P� %P� � b¢���Vn5hTn}�y�§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �QP�P� %P� % !u|rx<�P�&nl|�~¢w�x<frf�n5f �����§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �R�

�P�S&"E-e{wgn�¡���p$qrxz� �§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� N I eg�P|Gxz|r�TEPkDpDj�qre{i3pDfd���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� O #¥|r|Gx���f+�§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� �UP ¡$qr|tegpP�3fo�§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� �Q� ¡$qr|tkDj}qrf��§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � %�P� � � ¦¥pDe{i3pDf��§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � &�P� � � ­0i<egp$qtn'|rfa�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � &

�P� � �D� � ­0i3e{p$qtn'|rfdx<pDhV#�hPhT|rn'frf�n5f �§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � &�P� � �D� � ­0i3e{p$qtn'|rfdx<pDhV#�|t|Gx��Tf �§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �QN�P� � �D� ��­0i3e{p$qtn'|rfdx<pDhVW£kPw�qreYX hTegmonlpDfte{i3pDxzwB#¥|r|rx��Tf¥�����§���§���§�����§�������§�����§���§���§���������§� �QO�P� � �D� � ­0i3e{p$qtn'|rfdx<pDh�~¢cVxz|Gx<j�qrnl|Gf��§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �QO�P� � �D� ��­0i3e{p$qtn'|rfdx<pDh)¡�qt|rkDj�qGf �§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� P�P� � �D� %�¦�f�egpP��b¢�$�&n'hPn}� �������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� �

e

Page 4: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

�P� � � #¥wgwgi�j'x�qre{pP�HW£nlmoi<|r� �§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� ��P� � �V� � #�w{wgiTjlx�qre{pD�U¡�qt|rkDj�qGf ���§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� ��P� � �V� � ED|tn'nlegpP��¡��Dx<jln+���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� ��P� � �V� �#�w{wgiTjlx�qre{pD�+#�|t|Gx��Tf¤�����§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z�Q�

�P� � ��« pP�PkPqd���§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� %�P� � % E-e{wgn�« � � �����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� &�P� � & ~¤xzwgw ���HJ®x<w{kPn����§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� &�P� �UN W£x<e{p>���§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� N�P� �UO ¡�cPi3|�q X�~¢eg|Gj}kPe{q � �Vn'|rxzqti<|Gf �����§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z� O�P� � P L¤e�q � e�ftn � �Vn'|rxzqti<|Gf��§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � P�P� �D� bdcPn�bKnl|rpDxz|r� � �&nl|Gx�qti3|a�������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � P�P� � � bdcPn�­�|tn X:�P|riTj}n5ftfti<| �§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� � � � � ~¢i3pDf�qGxzp$qrf����§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � � � � #�w{e�x<ftn'f����§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � � � ��« mo�&i<|tqrf��§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� � � � ��~¢i3pDhTe{qtegi<pDx<wK~¢i<mo�Pegwgxzqtegi<p£�§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� � ��¡$qGx�qte�j J®xz|re�xz�Pwgn'f)�§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� ����P� � � �O�Px<m��Dw{n5f ���§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

�P� � �V� ��� �$�&izqrnlp�kDftn �§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � �V� � EVx<j�qri<|regx<w �§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � �V� � ¡$qr|tegpP� W iThTe FVjlxzqtegi<p£���§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��P� � �V� � � qrcPnl|GfU���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� ��%

� 5����� , 14�4, ?�� �/�B� �� �D� � #�hPv$e�j}ny�§�����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � N�D� � ~¢i<pVj}nl�Pqrf¥x<pDhV�®�Tnl|Gj}e�f�n5f �����§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � N

�D� � � � ¡$qr|tkVj�qtkD|tn�i<��~������P|ri<�3|rx<mof ���§���§���������§���§���§�����§�������§�����§���§���§���������§� � N�D� � � � ¡$qGxzpDhDxz|Gh�« � � ���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � N�D� � � � ¡$qr|tegpP�$f¥���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � N�D� � � � � ����n5j�q��[n'�P|rn'ftnlp$qrxzqtegi<p ���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � O�D� � � � ­Ox<�<n�¡�e��'n'f ���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � O�D� � � % E-egw{n5f��§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � O�D� � �S& I�e{pP��egpP�UxzpDh W£x<�<n FDw{n5f����§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � O�D� � � N ­0i3e{p$qtn'|rf'���[n}��n'|tn'pDj}n5f �§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � O�D� � � O ��|t|ri<| ��nlqtn5j�qtegi<p x<pDh � xzpVhTw{egpP���§���§���������§���§���§�����§�������§�����§���§���§���������§� � O

��� �� ?R���U��� 5 1����?R, �� U1�� �.��T� � #�hDhT|tn5ftf6#¥|re�qrcPmon}qte�j��§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T� � E-e{|Gf�q�~¢wgx3ftf EDkPpDj�qre{i3pDf ���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T� � ­0i<egp$qtn'|rf¤v<n'|rftkDf!�[nl��nl|rnlpDjln'f£���§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T� � ¡$qGx<jG�T#�w{wgiTjlx�qre{i3p ���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T� � ~¤xzwgwge{pP�U­�|ti<qtiTj}i3wgfs���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T� %)EPkDpDj�qre{i3p � v<nl|rwgi3x<hPe{pP� �������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T�S& � �&nl|Gx�qti3| � v<nl|rwgi3x<hPe{pP� �������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � ��T� N bdcPn�­�|tn'�P|tiTjln'frf�i3|£���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

"#� , ?��$�-�%� ?�&(' ?��)�U��,* �4�%P� � ~¢i<mo�Pegwge{pP�¯~ ���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� �Q�%P� � ~¢i<mo�Pegwge{pP�¯~(+,+ ���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �%P� � bdcPn.-0/�¦�~ ~¢i3m��De{wgnl| �������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �%P� � �[kPpDpPe{pD� �����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �%P� � ¡�n'�Dxz|Gx�qrn�~¢i3mo�Pe{w�x�qre{i3p �������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �

%P� �T� � � w�hTnl| W£i�hPnlw�f����������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� � �%P� % ¡�n'�Dxz|Gx�qrn�~¢i3mo�Pe{w�x�qre{i3p¯egp�~>x<pDh ~ ��� �§���§���������§���§���§�����§�������§�����§���§���§���������§� ��&

ege

Page 5: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

%P� %P� � � n'x<hPnl| E-e{wgn'f ���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§� ��&%P� %P� � « p$qtn'|�� x3j}n5f[xzpDh �[n'jli<mo�Pegwgxzqtegi<p �§���§���������§���§���§�����§�������§�����§���§���§���������§� � N%P�S& bKn'f�qtegpP� �����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �%P� N « pDjlw{kDhPe{pP� ���§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �%P� O bdcPn.-0/�¦�~ ~¢i3m��De{wgnl| �������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �%P� �UP W£x<�<nGFVw{n5f ���§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �%P� �UP � � ��nGFDpDe{pP�HW�xz�<n FDwgn'f ���§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �%P� �UP � � �[kDpPpPegpP�y¨�mUxz�3n'ª �����§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �%P� �UP � � !u|te{qtegpP�HW£x<�<n FDw{n5f������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z% �

%P� �Q� I egpP��egpP� � ¡$qGx�qregj§vTf'� ����pDxzmoe�j��§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z%Q�%P� � � �O��qrnl|rpDxzwKJ®x<|te�xz�Pwgn'f �§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z%Q�

�� �U?R���B?R,���8 � �� &�?��-� =@����, ?D,�� "��&�� � bKnlmo�Pw�x�qtn5f����§���§���§���������§���§�����§���§���������§���§���§�����§�������§�����§���§���§���������§�Z%��&�� � « p$qt|riThTkDj}egpP��qtcDn�¡$qrx<pDhPxz|Gh)b�n'm��Dwgxzqtn;I eg�P|Gxz|r� �������§���§���§�����§�������§�����§���§���§���������§�Z%��

� 8 ( ( "�

ege{e

Page 6: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

egv

Page 7: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

������������ ������� �����

«¥xzm �3|rxzqtn}��kDw�qri�m�� f�qtkDhPnlp$qrf§xzpVh£j}i3w{wgn'x<�<kPn5f[��i<|�|tn5x<hTegpP�¯n'xz|rwg�)hT|Gx��©qGf�i<�OqtcPe�f§xzpDh£�<egv$egpP��mon ��nln5hT�Dx<jG�6��bdcPnl�egpDj}wgkDhTno�<n5ftfte�jlx I egpP�3nl|5����|tegp�¡$qGx<hTwgnl|5��I�n'x<c���xz�Pw�xzp�����|teg��x�¡���mom�i3pDhPf'�K#¥wgw{n'p ��i � pDnl� xzpDh£izqtcDnl|Gf � cPi)hTeghPp ¬ q�<egv<ndqrcPnleg|¤pDxzmon'f'� #>w�x�qtn'|¢hT|Gx��©q � x3f�xze�hTn5ho�$���¥x3jGcPnlw&b�i3|tpPcDnlegm)��W nl�$xzp � nlnlpVxzcDx<p�xzpDh ED|rx<pP��w{��p�bKkP|t�Vxz�6�-bdcDn|rnlmUxzegpPegpP�onl|r|ti3|rf¤xzpDh)j}i3p$qti<|tqtn5h¯ftnlp$qrnlpDjln'f[xz|rn§m���i � p��

Page 8: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

Page 9: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �

����� � � � � �

����� � ����� � ���� ��� � �

~>egf¥x�� x<e{|rwg��i<w�h)�P|ti3�<|Gxzmomoe{pD� w�xzpP�3kDxz�3n<�PhPxzqtegpP�oqtioqrcPn�n'x<|twg� �-O & P fl�O« q � x<f[hPnlv<n'w{i3�Vn5h¯��i<|¥ftmox<w{wgnl|�j}i<mo�PkPqtnl|Gf'�kPpPwgeg�<n¥qrcPn�¨t�<e�xzp$qrª§mUx<e{pT��|Gxzmon5fOqtcVx�q¢pDi � ftnln'm f�i��DkPp��ox<pDhokPpDhPnl|r�Vi � nl|rn'h�� n}�Pj}n'�Tq���i3|®qtcDnleg|¢n'w{n5j�qt|re�j}e{q�� kDfrxz�3n��}�« q � x<f¢hTnlv3nlwgi<�&n'ho��i3|®qrcPn6FV|rf�q � |re�qre{pD��iz�IqrcPn�¦�pPe{�oi3�Vn'|rxzqtegpP��ft�Tf�qrnlm�� qrcPn FV|rf�q¢i3�Vn'|rxzqtegpP��ft��f�qtn'm�qti��&n � |re{q�qtn'pegp£xzp ¨�cDe{�3cDX:wgnlv3nlw�ª�wgx<pP�<kDx<�<n ��pDizq�x3ftftnlm �Pw{�¯wgx<pP�<kVxz�<n!���TqrcPi<kD�<c�pPi � x<hPx��Tf�~>egf¥qtcPi3kP�<c$q�i<�Ox3f¥x�� xzeg|rw{�)w{i � X wgnlv<n'ww�xzpP�3kDxz�3n<�Tj}n'|�qGxzegpPw{�¯j}i<mo�Dx<|tn5hUqri��3x�v�xP�

L¤n'j'xzkDftn£iz��qrcPn+xzmUx$�'e{pP�sf�kDj'j}n5ftf¯iz��¦�pPe��I��e{p qtcPn+x<j'x<hTn'm�e�j�x<pDh �PkVf�egpPn'frf � i3|tw�h���kPp$qre{w§qrcPn�x3ftjlnlpDhPx<pDj}�iz�6W£egjl|ti$f�i<�©q�e{p�qtcPn¯wgx3f�qohTn'j'x<hTn!���¢~ �&n'j'xzmon�qrcPn¯moi$f�q � eghTn'w{�+kDftn'h��P|ti3�<|Gxzmomoe{pD� wgx<pP�<kDx<�<n3�Ki3pPn�qrcDx�q�nlv<n'|t��P|ri<�3|rx<m�mon'| � x<f�n}�T�Vn5j�qrn'huqti£xzq�wgn'x<f�q��&nU� xzmoegw{e�xz| � e{qtc��$##"%$'&)(+*-,�.0/1,2&430,��0e{�[�<i<k � egw{w:�£~¢i<pDftn�5$kPn'p3qrw{�3�KmUx<p$�w�xzpP�3kDxz�3n'f�hTn'v<n'w{i3�Vn5hyf�egpDj}n�qtcPn NQP f�cDx�v<n�x3hTi<�Pqtn'huqrcPn�~ ft��p3qGx��I�-qtcPn�m�i$f�q�pPizqGxz�Pwgn��&nlegpP��~ ��� xzpDh��$x�v�xP��~j}i3p$qtegp$kDn'f0qri��Vn�x<poe{mo�&i<|tqrxzp$q�w�xzpD�<kDx<�<n<��pDizq�i3pPw{� �Vn5jlx<kDf�n[i<�6qtcPn¥w�xz|r�<n[x<m�i3kPp$q®iz�6n}�Te�f�qre{pP�o~�jli�hPn<�<�DkTq��&n'jlx<kDftniz� I egp�kT�I� � cPe�jGcuegf�x)�3|ti � egpP��f�cDx<|tn�iz�¤qtcDn�f�n'|tv3nl|§mUxz|r�<n}q6� « L W�cDx3f§�PkTq�x)�Pegw{wgegi<pyhTi<wgw�xz|Gf§�Vn'cPe{pVhuhPnlv<n'w{i3�PegpP�I egp�kT����i3|[e�qGf¥j}i3m��DkTqtn'|rf0���Dx<pDh$I egp$kP�7��wge{�3n�¦¥pPe{�¯�&n}��i3|tn§e{q0�¤e�f¥j}iThTn5h�moi$f�qrw{�¯e{p�~��

/¥n � cDx<|rh � xz|rn�j'xzp��&n�w{eg�<n)pPn � wgx<pDh��DkDf�cDn'hskP��i3kTqUiz�¥qrcPn)ftn'x����yv<i3wgj'xzpPe�j�x3j�qtegv�e�q��3� #¤q+FD|rf�q'��pPizqrcPe{pD��<|ri � f§x�q�x<w{w:�¯bdcPn'p+w{e�jGcPnlpVf��3x<e{pyx)��i�izqrcPi<w�hI�Kx<pDh+���£qrcPnleg|�x<j}qtegi<p �K�P|ri�hPkDj}n�fti<egwOqtcVx�q�jlx<p+nlv<n'p$qtkDx<w{wg��ftkP�P�&i<|tq�<|Gx<frftn'f'�3qr|tn'n'f'�PxzpDh¯qrcPn � cPi<wgn��Dx<pPi<�Pwg��i<�-wge���n3�®« q�xzwgw f�qrxz|tqrf � e{qtc�qrcDx�q FV|rf�q¥cDxz|GhT�3�Pf�egmo�Pw{n��De{i3pPnln'|'�¢~ egf[wgeg�<n§qtcDnwgegjGcPn'pDf � e{q'¬ f�i<�©qtn'pUqtcPn FD|Gf�q ¨�cPeg�<cDX wgnlv<n'wgª§w�xzpD�<kDx<�<n8��mon5xzpPegpP��pDizq¤x3ftftnlm �Pwg��w�xzpP�3kDxz�3n��-qri j}i3w{i3pPe �ln¥pPn � j}i<mo�PkPqtnl|cDx<|rh � xz|rn<��bdcPegf�e�f��Vxz|tqtwg�)�&n'j'xzkDftn<�&wge{�3n�wgegjGcPn'pDf'�&e{q§egf�x�fte{mo�Pwgn�wgx<pP�<kDx<�<n3�¥« pDhTn'n'hI�Ie{q'¬ f��&nln'p�j'xzwgw{n5h ¨tf�qt|rkDj�qrkP|rn'hx<frftnlm��Dw{� w�xzpP�3kDxz�3n<� ª � i � nlv<n'|'�6i3pDj}n�~acDx3f��3xzegpPn5h�x���i$i<qtcPi3wgh�i<p�qtcPnopPn � mUx<jGcDe{pPn3�IizqrcPnl|�w�xzpP�3kDxz�3n'f�jlxzpu�&n�&i<|tqtn'h�qri e�q5�-fte{pVj}n�qtcPi$f�nUi<qtcPn'|�wgx<pP�<kVxz�<n5f�xz|rnoiz�©qtn'p+e{mo�Pwgnlmonlp$qrn'hue{ps~��KbdcPn�j}i3|tnoiz� �®mUx3jlf§e�f � |te{q�qrnlp+egp�~��egpDj}wgkDhTegpP��x�w{e�ft�)egp$qtn'|t�P|rn}qrnl|5�PxzpDh�qtcDn�|tn5f�q¥i<���®mUx3jlfde�f � |te{q�qrnlp�e{p ��mox3jlf X:wge�f��)|tkDpPpPegpP�oi<p¯qtcDxzq¥w{e�f���egp$qtnl|r�P|rn}qrnl|5�! e{qtcPi3kTq¥~9� pPi��®mUx<j'fl�O¡�egm�egw�xz|rw{�3�<qrcPn�jli<mo�Pegw{n'|rf®��i<|¤izqrcPnl|¢wgx<pP�<kDx<�<n5f:���&i3frf�eg�Pwg�)~ ��� ��xz|rn � |re�qtqtnlp�e{p)~���«®hTi3p ¬ q��pPi � �0�PkTqo« � i3kPw�h+�Vn � e{wgwge{pP�£qti � xz�3nl|�qrcDx�q�qtcDn¯�$x�v�x J�eg|�qrkDxzw W£x<jGcDe{pPn7�©qtcDn)� J W;��xzpDhyqtcPn)�3x�v�x£jli<mo�Pegw{n'|� ��x�v�x3j��¤xz|rn � |te{q�qrnlp�e{p�~��REDi<|dqtcDegf[|rn'x3f�i3p �D~ e�f[f�qtegw{w�x<p�e{mo�&i<|tqrxzp$q[w�xzpP�3kDxz�3n�x<pDh�e�f[wge{�3nlwg�Uqtio|rnlmUxzegp�f�iV�

¡�i3m�nlqtegmon'f'�DqrcPn�cDx<|rh � x<|tn�e�f�i3pPn�qrcDx�q§pPi�i<qtcPn'|¯¨tcPe{�3cPnl| X w{n'v<nlw�ª�wgx<pP�<kVxz�<n5f � egw{w-�Vn kDftn'h i3p � ��n'ft�Pe{qtn x<w{wKqtcDnmoe{wgwge{i3pDf®i<�I­d~¤fOegpUqtcPn � i3|tw�hI�zqrcPnl|rn�x<|tn[�P|ri<�Vxz�Pwg��moi<|rnU¨�n'm��&n'hPhPn'ho�P|riTj}n'frfti<|Gfl� ª bdcPn'ftn�x<|tndqrcPn¥�P|riTj}n'frfti<|Gf-qtcDxzq|rkPp£i<kD|���kPn'wYX egp*��n'j}qtegi<p�j'xz|Gfl�&i<kD|�hTeg�<e{qrx<w0j'xzmonl|Gx<f'�Di3kP|,-§xzmon L¤i��Tfl� �V� i<kD|�moe�j}|ri � x�v3n�i�v<nlpVf�xzpVh i<kP|�qti$x<f�qtnl|Gf'�! cPegw{n£fti<mon)iz��qtcPn5f�n moeg�<c$qU|tkPp��$x�v�xD�®moi3f�q � e{wgw[pPnlv3nl|o|rkPp x<p��yqtcPegpP�+moi<|rn�qrcDxzp�mUx<jGcDe{pPn�j}iThTn3�¤x<pDh�qtcDxzqmUx<jGcPegpPn�j}iThTn � egwgwI�P|ti3�Dxz�Dw{���&n�j}|rn'xzqtn5h�����xoj}|ri3frf X jli<mo�Pegw{n'|���i3|�~��

L¤izqrc+~ ��� xzpDh��3x�v�x)xz|rn�moiThTnl|rp � i3����n'j}q X i<|re{n'p3qrn'h w�xzpD�<kDx<�<n'f'�6�PkTq§qtcDnl�£cDx�v3n hTe M6nl|rnlp$q�hTn'fte{�3p��PcDe{wgi3fti<�PcDe{n5fqtcVx�q�xz|rno|tn=<Dn'j}qtn5h�egpyhTe M&n'|tn'pDj}n5f§e{p+qrcPnleg|�ft�$p$qGx���xzpVhuftnlmUx<p3qregj'fl��bdc�kDf'�Kx<w�qrcPi<kD�<cuqtcPn'��ftnln'm qti FDwgwOqrcPn�frxzmonpPe�jGcPn<�$e{q'¬ f�pPi<q¢x<f�n'x3f�� qti�wgn'x<|tpoqrcPn�i<qtcPn'|¢x3fOi<pPn�moe{�3c3q¢cPi<�&n<�ObdcPe�f�hTiTjlkPmonlp$q¢cPi3�Vn5fOqri�cPn'w{���$x�v�x§�P|ri<�<|Gxzmomonl|Gfj}|ri3frfOqrcPn��D|te�hT�<n�qtiU~ xzpDh¯~ ��� �©qtcDi<kP�3c��<i3k�mUx�� � xzp$q�qri�|rn}qrkP|tpUi3pDj}n��<i3kU�<n}q¢qtcPn'|tn!���®¡�egpDj}n�qtcDn§~ ��� w�xzpD�<kDx<�<negpDj}wgkDhTn5f x<w{w¢iz��~��Ke{q'¬ f kDf�nl��kPw¢qti£|rn'x3h+nlv<n'|t�$qrcPe{pD� e��¥�3i<k ¬ |tnUwgn'x<|tpDe{pP�y~ ����� � p+qrcPn�i<qtcPn'|�cDx<pDhI�0e��¥�3i<k ¬ |rn0��kDf�qegp3qrnl|rn'f�qtn5h�egp�w{n5xz|rpPe{pD��~��T�3i<k�jlx<p)ft��e{� xzwgw6qtcDn��Dxz|tqrfdi3p ~������

Page 10: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

����� � ���� :����� � � � ��bdcPnUj}w�x<frftegj�|tnl��nl|rnlpDjln���i3|�~aegf������§nl|rpPeg�<cDx<p�xzpVh �[e�jGcPegn<�6qtcDnohPn'fte{�3pPnl|Gf�i<�[~��IxzpVh�e�f§x M6n'j�qre{i3pDx�qrnlwg� ��pPi � p�x3f¨�qrcPn � cPe{qtn��Vi�i<�6� ªy« q'¬ f¥ftcPi<|tq'� � e�qrc w{i<qrf[i<�On}�Pxzmo�Pwgn'f'�d~¢cPn5jG��qrcPn�wge{�P|Gxz|r�<� � i � nlv3nl|5�T�<i<k ftcPi<kDwgh)��pPi � qtcDxzq�e�q5¬ fxzp+i3wgh��Vi�i3�&�-xzpDh+fti<monoiz�¤e�qGf�f�q���wgnUegf�pPi�w{i3pP�<n'|�xzwgw{i � n'hI�UbdcPn'|tnoe�f�x)pPn � nl|�n5hTe{qtegi<p � � e�qrc�qrcPn � i<|Gh>¨ #�/�¡T«�ªf�qrxzmo�&n'h)egp)|rn'h¯wgn}q�qrnl|Gfdi<p)qtcDn�j}i�v<n'|'� � cPe�jGc�cDx<fd�&nln'p)kD�&hPxzqtn5hI�«Owge{�3n�¡$qtn'v<n � kDxzwge{pDn<¬ f � ¬ �[nlegw{wg�o�Vi�i3� i3p)~ �����Tjlx<w{wgn'h�� / ,+3 $ 30, "�� ����� /��1(+/1,���� $'&)(<�Pf�i�«�¬ m f�kD|tn¥cDegf[~s�Vi�i3�&�jlx<w{wgn'h�� /1, 3� $ 30, "���� /��1(+/1,���� $'&)(¯e�f[�<i�iThI��qti�iV�

# �<i�iTh�|rn}��n'|tn'pDj}n)��i<|�qrcPn�~�wge{�D|rx<|t��x3f � nlwgw¥x<f qrcPn wgx<pP�<kVxz�<n¯egf���� �"!$# .�#=/�#=&43%#'&;, & *-, " �d���s¡Tx<m�kPn'wd­0�� x<|t�Degfti<p�x<pDh -�kP�HI��P¡$qtn'nlwgn ��|5�ObdcPegfdjli�v<nl|GfOmUxzp��Ui<�IqtcPn§f�qGxzpDhDxz|Gh¯~ wge{�P|Gxz|r� ��kPpDj�qre{i3pDfdx<f � nlwgw&x3f¢jli�v<nl|regpP��qtcDnw�xzpP�3kDxz�3n�e{qrftnlw{���O« q¥egf'�PcPi � nlv3nl|5�$xo|rn}��n'|tn'pDj}n�mUxzp�kDx<w9�TpPi<q�x qtkTqri<|regx<w9�#¥�D�Vn'pDhTe{�T� i<� � nlpDpPn'frf��Ux<pDh�­Ox�qtqtn'|rfti<p ¬ fOkPpVhTnl|r�<|Gx<hTkVx�qtn�j}i<mo�PkPqtnl|dxz|GjGcPe{qtn5j�qtkD|tn¥�&i�i<�6�(����� ) **+#=/�, / ( ,2&-$.-/ ,� $0� &;,2&2143�#�5 $%(+&2�6.78# 9�,2/�1�: ,2/�#<;>=?� .%@: ,2/�#6A &8<# / . , 3�#l�TcDx3f¢x f�cPi3|�q¢e{p$qt|riThTkDj}qtegi<pUqrio~s��i3|¢­Ox<frjlx<wD�P|ri<�3|rx<mom�n'|rf'�� i � nlv3nl|5�$qtcPn�ft�$p$qGx���e{q�j}i�v3nl|Gf�e�fdmoi3f�qtwg��qtcDn�~ ft�$p$qGx��UqtcVx�q¥e�f¤qtcPn�frxzmon�x<f[�$x�v�x ft��p3qGx��I�Pfti�qrcPegf¥egftp ¬ q�f�iokDftn}��kPw��i<|¥�$x�v�x��D|ti3�<|Gxzmomonl|Gfl�

«O|rn'j}i3mom�n'pDh�bKi<m #�pDhTnl|Gfti<p ¬ f�egp$qt|riThTkDj�qre{i3pUqti�¨G~(+,+ ��i3|[~ �D|ti3�<|Gxzmomonl|Gfl� ª � cPegjGc¯egf ��kDf�q[x � P X:�Vxz�<n[cVxzpDh Xi<kPq'� �®v3nlp�e��O�3i<k ¬ |tn§pPi<q�x¯~ �P|ri<�3|rx<m�mon'|¤�3n}q5�D�PkTq�mUxzp���i<�-qrcPn�qrcPe{pD�3f¥cDn<¬ w{w-ftx�� � egwgw��&n�5$kPe{qtn�kPpVhTnl|Gf�qGxzpDhDxz�Pwgnxzp���cPi � � � n � |ti<qtn cPe�f���i<|¯x�j}i<wgwgn'j�qre{i3p iz��n'hPkDjlxzqtegi<pDx<w�ftiz�©q � xz|rn�j'xzwgw{n5h�¨ /�x<jGcPi$fl� ª � cDegjGc e�f�kVf�n5h�e{p>mUx<p$�i<�&nl|Gx�qre{pD�oft�Tf�qrnlmUf[j}w�x<frftn'f'�K«¤w{eg�<n�x�wgizq¥iz�-cPe�f¥x<hTv�e�j}n3��qtcPi3kP�<c)«¤hPi<p ¬ q�xz�3|tn'n � e{qtc xzwgwIiz�0e{q'�bdcPn'|tn£x<|tn£xyp�kPm �Vn'|�i<�§i3pPwge{pPn£qtkTqri<|regx<wgf�x3f � nlwgw9�degpDj}wgkDhTegpP�si<pPn i3p�qtcPn<!�n'w{wgn'ftw{n'� ~ ! «�¡ �CB*DEDGF H�IEI�JEJGJLKJ8M*NGNGM8OPNGMRQ KSMGTPU8IPV*WEI*XRY�U*Z8ORM[ORIPVEWE\P\?]�I�VG^PU*D*YRZ?_a`*N�K+BED�bcN

���%d e f ��������hgi��� ��� � ��j��lkL¤n'j'xzkDftn�~ � x3f¤e{p$qtn'pDhTn5h¯x3f¤x�wgi � X:wgnlv3nlw&wgx<pP�<kVxz�<n���i<|[ftmox<w{w jli<mo�PkTqrnl|Gfl��n5ftftnlp$qte�xzwgwg��x |rnl�Dwgx3j}nlmon'p3q¤��i<|[x3ftftnlm �Pw{�w�xzpP�3kDxz�3n��P|ri<�3|rx<mom�egpP�V�Te�qGf¥hTn'fteg�<pPn'|rf[x<pDh�j}i<mo�Pegwgnl| X � |re�qrnl|[xzw � x���fdjGcPi$f�n�ft�Vn'n'h x<pDh�nm�j}egnlpDjl��i�v<n'|¥ftxz��n}q��3�@EPi3|n}�Px<m��Dw{n3�TqtcPn'|tn�x<|tn§pPio|rkPpDX:qtegm�n�jGcDn'jG�Tf¤qtiUn'pDf�kD|tn�qtcVx�q�xz|r|Gx���egpDhTe�j}n5f¥xz|rn � e�qrcPegp)�&i<kDpDhPf'��bdcPe�f[egf[� x<f�q'�T�&n'jlx<kDftnqtcDn�i<����n'j�q�j}iThTnuhTi�n'ftp ¬ q)cDx�v<n£qtishPisxzp���jGcPn'jG��egpP�D�[�DkTq)e{��qtcDn��P|ri<�3|rx<mom�n'|UmUxz�<n5f�x�m�e�f�qrxz�3n<�[qrcPnl|rn£e�f�pDin ZEZ*`PQ?oqp[TEMPr8s�U*D[sPtPu[Y�UEp*T>O n}�Pj}n'�Tqtegi<p�qti egpDhTe�jlxzqtn�qtcPnUn'|t|ri<|5�obdcPegf��PkTqrf�~aegp+f�qrx<|t��j}i<p$qr|rx3f�q � e�qrcy�3x�v�xP� � cPi3ftnhTn5f�eg�<pPn'|rf���pPn � qrcDx�q§ftxz��n}q�� � i3kPw�h mUxz�<n �3x�v�xU�P|ri<�3|rx<mUf[moi<|rn�|tn'w{e�xz�Dw{n�x<pDh n5x<fte{n'|�xzpVh5$kPegjG�3nl|�qti¯jliThTn<��bdcPnl�� nl|rn � egwgw{egpP��qti�frx<jl|te FVj}n§j}iThTn�ft�Vn'n'h¯qtiU�3n}q¥j}iThTegpP�Uft�Vn'n'hI�L¤�ux<pDh+w�xz|r�<n<��~��P|ri<�3|rx<m�mon'|rf � i<p ¬ q�x3hTmoe�q qtcDxzq�qrcPn�w�xzpP�3kDxz�3nUegf�cDxz|Ghuqtiuj}iThTn�egp �®x<pDhI�Oe{�[qtcPn'�+hPiD�0e�q5¬ f� e{qtc�xU��egpDh�iz�®mUx3jGcPiU�P|Gx�v�x3hTiD�[¡�i3m�n�iz�OqtcDnlm xz|rn�qtcPn ��e{pDh�i<�O�Vn'i<�Pwgn � cPi � i3kPwgh�|Gx<jln�xUmoizqri<|Gj}�Tj}wgn � e�qrcPi<kPqx�cPnlwgmon}qo�Vn5jlxzkVf�n ¨�qrcPn�cPn'w{monlqUx3hPhPf � nleg�<c$q�x<pDh�hT|Gxz�V� ª W i3f�q'��cPi � n'v<n'|'�0kPpDhPnl|Gf�qGxzpDh+qrcDx�qoqrcPn'ftn)x<|tn)hTn'fteg�<pqt|Gx<hPnli MIf'�0bdcDnl���P|rn}��n'|dqtioqrkP|tp�i3p�qrcPn�nl|r|ti3|[jGcPn'jG��egpP� � cDnlp�pPn'jln'frftx<|t�3���PkTq[qtiowgn'x�v3n�e{q¥i M£���)hTn}� x<kPw�q5�

� �©qtn'p �5qtcDxzq'¬ fKx�v<n'|t��|tn5x<fti<pDx<�Pw{nO�&i3fte{qtegi<p �K« �Vx:5$kPe�jG� X xzpVh X hPe{|tq����P|ri<�3|rx<m �3n}qrfKxzp�n'|t|ri<|��Vn5jlxzkVf�n�x<p�xz|r|rx���e{pVhTn}�e�f§i<kTq�iz�d�&i<kPpDhDfl� � nlwgw:���<i3k FP��e�q5��|rn'j}i3mo�Pe{wgnUxzpDhuj}i3p$qtegp$kDn<�o¦¥pT��i3|�qrkPpDx�qrnlwg�<��qtcDxzq§��egpDhuiz�¢qtcPegpP��e{pD��j'xzpue{pP��n'j�q�P|ri<�3|rx<mof¢qrcDx�q�x<|tn'p ¬ q���i<|�f�cPi3kPw�hTp ¬ q¥�Vn!�:5$kPe�jG� X xzpVh X hPe{|tq��<� !unl�£ftnl|rv<n'|rf¤qrcDx�q�j'xzp j}|Gx<ftc � cPnlp£fti<mon�kPpPnl�T�Vn5j�qtn5hegpP�PkTqOe�fK|rn'jlnlegv<n5h�iz�©qrnlp�cVx�v<n��D|ti3�<|Gxzmomoe{pP��nl|r|ti3|rf qtcDxzqOx<|tn¢pPi�m�i3|tn¤j}i3m��Dw{nl��qtcDx<p xzp�xz|r|rx���e{pVhTn}��i3kTq0iz�D�&i<kPpVhPfl�� �¤jli<kP|Gftn<�IqrcP|ti � egpP��xzpun}�Pj}n'�Tqtegi<p+egpu�$x�v�x)egftp ¬ q�x<p��£�Vnlq�qrnl|�e{�¢qrcPnU�P|ri<�3|rx<m f�qtegwgw�j}|Gx<ftcPn'f'�U¡Tx���no�P|ri<�3|rx<mof�jlx<p�&n � |te{q�qrnlp+e{p�~ ��kDf�q�x3f§e{py�$x�v�xP�obdcPn�j}iThTegpP���<i$xzw0m�kDf�q��&noqti xzp$qte�j}eg�DxzqtnUxzwgw�fte�qrkDx�qre{i3pDf�xzpDh�mUxz�3noftkP|rn�qtcDxzqpPi3pPn�iz�-qtcPn'm jl|rx3f�c¯qtcDn��P|ti3�<|Gxzm��®bdcPe�f[mUx����&n�xow{e{q�qrw{n�cDxz|GhTnl|[egp�~>qtcDx<p)egp�izqrcPnl|¥w�xzpD�<kDx<�<n'f'���PkTq¥qrcPn��Peg�<�3n'f�qhTe M&n'|tn'pDj}n§e�fde{p)qrcPn�cDxz�De�qGfdiz��qrcPn��&nli<�Dw{n§kDfte{pD� qrcPn§wgx<pP�<kVxz�<n3� #�fd�<i3k¯jli�hPn�e{p£~��9xzpDh£~ ��� �}�Dj}i3pDf�e�hTn'|¢qrcPn��<i$xzw�fiz�-qtcDn��P|ti3�<|Gxzm xzpVh � cDn}qtcDnl|[�<i3k)x<|tn§jGcPn5jG�$egpP����i<|¥x<w{wIi<�KqrcPn�fte�qrkDx�qre{i3pDf¤qtcDxzq¥�<i3k¯i3kP�<c$q¤qtiD�

���Sv w � � ��� �bKiox FD|Gf�q'�Djl�$pDegj'xzw:�Pxz�P�P|ri��Te{mUxzqtegi<p �D~ x<pDh£~ ���>cDx�v<n�i<pPwg��i3pPn§|tkPpRX9qre{mon�nl|r|ri<|dmon'frftx<�<n �ORMPx�b?MRp*D[`RD?_�YRp�t*`RU>NRD�H�XRYPZ[MyTPURb[F8MGTz®i<k)jlx<p¯xzw�fti fti<mon}qre{mon'f¤�3n}q[x��PkVf¢n'|t|ri<|5�$�PkTq¤qtcPn'��xzwgw6m�n5xzp�qtcPn�frxzmon¥qrcPe{pD� � qtcDn��P|ri<�3|rx<m�cDx<f@FDpDx<w{wg��hTi<pDn

fti<mon}qrcPe{pD� qrio�<i�i<kTqGf�e�hTn§e�qGfdmonlmoi<|r��xzwgw{iTj'x�qtegi<p ��e{qrfU¨rf�n'�<monlp$qGª ���0bdcPn§kPpDhPnl|rw{��egpP�UjlxzkVf�n�mUx���i<|dmUx��UpPizq[cDx�v3ncDx�v3n��&nlnlps|tn5j}n'p3qq{¢�3i<k ¬ wgw¤cVx�v<nUqri�qr|rx3j}n)�Dx<jG�yxzpVh�kDftn)fti<mon)hTnl�PkD�<�<egpP��qtn'jGcDpPe 5$kPn5f qti<FD�<kP|rn�i3kTq � cDx�q � n'p$q

Page 11: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� |ri<pP�V��« �®xzwgw�n'wgftn§� xzegwgf'�D�DkTq¯¨t�P|tegp$qrªof�qrx�qrnlmonlp$qGf¥egp �<i<kD|¥�P|ri<�<|Gxzm kDp3qre{w-�<i3k jlxzp hTnlqtn'|tmoegpPn � cDxzq�w{egpPn�e�fd� x<e{wge{pD����DkTq�f�n'n§qtcPn�x3hTv�egjln�xz�&i<kTq[�PkDM6nl|rn'h)i3kTqt�PkPq'�P�&nlwgi � ���bdcPn'|tn�xz|rn�hTn'�PkP�<�3nl|Gf�x<pDh�hTn'�PkP�3�<egpP��n'p$v�eg|ti3pPmonlp$qrf���i<|¥~�x<pDh)~ ��� � #�w{moi3f�qdnlv<n'|t�onl���&nl|regnlpDjln'h)~s�D|ti3�<|Gxzm�Xmonl|§cDx3f�kVf�n5h x*T�� �6qrcPn -0/�¦ hTn'�PkP�<�3nl|5�Ix�q�f�i3m�n��&i<egp3q5��bdcPn'|tnoxz|rn n'v<n'p�fti<mon � e{qtcu�<|Gxz�PcDegj'xzw-kDf�n'|§e{p$qtn'|�� x3j}n5fqtcVx�q¥jlx<p)ftcPi � �3i<k�wgegpP�<n5h�f�qt|rkDj�qrkP|tn5fde{p)monlmoi<|r��xzpVh�kP�6hPx�qrn§qtcPn'e{|¥jli<p$qtn'p$qrfdx<f¤pPn5j}n'frfrxz|r�<�0bdcPn'ftn�x<|tn§xzwgw � i<|tqtcwgn'xz|rpPegpP�D�T�DkTq[qtcPe�f¥hTiTjlkPmonlp$q¥hTi�n'ftp ¬ q�jli�v<n'|¢qrcPnlm x�q�x<w{w:�

« pDf�qtn5x<hI�T«¤kP|r�<n��<i<k¯qtiU|rnlwg��i3p¯wgi<�3egj<� EDi<|[nl�Tx<mo�Pw{n3�T�<egv<n'p�qrcPn§��i<wgw{i � egpP�oj}iThTn �_�t�� KEKGK����

KEKEKF*Z?_qpED*t��� ^PB8M�[`EN�U8MyYGt ri_PO��ET� �p����Sr����KEKEK

� M*N[ORM��KEKEKF*Z?_qpED*t��� ^PB8M�[`EN�U8MyYGt Qi_PO��ET� �p����SQ����KEKEK

�JEBc_�NGM�� KEKEK����

F*Z?_qpED*t��� ^PB8M XaUEZEZ[MRp*D�[`*N�U8M YGt�� _GO��GT� �p����������KEKEK

« � pPn'e�qrcPnl|��opDi<|���e�f®�P|re{p$qrn'hI�$qtcDn¥nl|r|ti3|'� � cDx�qrnlv3nl|®e{q¢e�fl��jlx<pPpPi<q��Vn � e�qrcUqtcDn JEBc_�NGM wgi�i<� � # f�qrkDhTnlp$q¤«-��pPn � i<pDjlnft�Vn'p3q¥x<p�cPi3kP|¤qt|r�$egpP� qti FDpDh�qtcPn§�PkD��egp¯qtcPn JEB?_RNGM w{i�i3� �Tj}i<p�v�egpDj}n5hUqtcVx�qdqtcPn§�PkD� � x<f¢qtcDnl|rn<�PxzpVh�« � x<f¢kPpDx<�Pwgnqtio�&nl|Gf�kVx<hTn§cPn'|¥izqrcPnl| � egftn<�0«¢�$pDi � e{q � x3fdv<nl|r�o��|rkDf�qr|rxzqtegpP����i<|[cPn'|'�Px3fde�q � i<kDwgh¯�Vn§��i3|¥xzp��<i3pPn<�« q'¬ f�e{pDnlv�e�qGxz�Pwgn�qtcDxzq��<i<k � e{wgw0mUxz�<noj}iThTegpP��moegf�qrx<�<n5f�x3f��3i<k�w{n5xz|rp+~ax<pDh+~ ��� {�nlv3nl|r�<i3pPn�hTi�n'f'��¡Ti<mon}qre{mon'f�<i3k¯j'xzpVFDpDh�qtcPn�n'|t|ri<|¤n'x3f�egw{�U���0��kDf�q�frjlxzpDpPe{pD� i�v3nl|¤�<i<kD|djliThTn<�T�PkPq¥e��KqtcDxzq[hPi$n5f�p�¬ q � i<|r�&���3i<k ¬ w{wIcVx�v<n¥qriUhTnl�PkD�e{q'� ��i<p ¬ q¥�<nlq�f�qrkDjG��|rn'x<hPe{pP�oxzpVh¯|rnGX |rn'x<hPe{pP� �<i3kP|¥j}iThTn3�-« q5¬ f¥�Vnlq�qtn'|[qtiUcVx�v<n§x �Dwgx<p)i<�-xzq�qrx3jG�U��i<|¥hPnl�PkP�3�<egpP�oe�q5�

EP|rkDf�qt|Gx�qre{pP��x<fdhTn'�PkP�<�3e{pD��e�fl�Te{q[egfdx �<i�iTh�i<�D�Vi3|�qrkPpPe{q��oqtio�P|Gx<j�qregjln�fti<mon�w{i3�<e�jlxzw6hTnlqtn'j}qtegv<n � i<|r�&��!un � egwgw6x<w{wqt|r�UqriUnlm�kDwgxzqtn�¡�cPn'|twgiTjG� � i3w{mon'f'�PxzpVh¯|rnlmon'm��&nl|¤qtcDxzqnlwge{moegpDx�qrn�qrcPn�egm��&i3frfte{�Pwgn�xzpVh � cDxzqtn'v<nl|[|rnlmUx<e{pDf'��cPi � nlv<n'|de{mo�Pw�xzkDfteg�Pw{n3�Pm�kVf�q[�&n§qtcPn§qr|tkTqrc �

� n'|tn)xz|rn�fti<mon�|rkPwgn'f���i3| n M&n5j�qre{v3n¯hTn'�PkP�<�3e{pD�D��bdcDn'ftn¯xz|rn�qr|tkDn���i<|oxzp��uwgx<pP�<kVxz�<n3�OxzpDh�x<|tn�kDf�nl��kPw � e�qrc�i3|� e{qtcPi3kTq�xohTnl�PkD�<�<n'|'�

~¢kTq[qrcPn��P|ri<�Pwgnlm hTi � p�qriUf�e �ln3�E-e{pVhTe{pD�)x<p�nl|r|ri<|�e{pux �-PQPQP w{egpPn�~a�P|ri<�3|rx<m e�f§x�wgizq§cDx<|rhTn'|�qtcDx<p FDpDhPe{pP� x<p�nl|r|ri<|�egp+x �-PQP wge{pDn��D|ti3�<|Gxzm��

¡�i)qtcDn+FD|rf�q§qtcPegpP�)qti hTi�e�f§qti jlkTq�i<kTq��Dx<|�qGf�iz��qrcPn+FDwgn<��� bdcDegf�x3hTv�egjlnoegf§i<�©qtnlp+jlx<w{wgn'h ¨thPe{v�e�hTnUxzpDhuj}i3p-5$kPnl|5� ª)�#¥p��$qtcDe{pP� qtcVx�qd�<i<k�qtcPegpP�Ue�f�eg|t|rnlwgnlv�x<p3q5�$jlkTq[i<kTq5� ��i qtcPe�f¤e{p)f�n'v<n'|rx<wDf�qrnl�Df � FD|Gf�q[j}kTqdi<kPqdx<w{wVqtcPn§f�qtkDM�qtcVx�qd�<i<k�¬ |rn|rn'xzwgwg�)ftkP|rn�e�f�eg|t|rnlwgnlv�x<p3q5�DqrcPnlp�qtn5f�q�qtcPn FDwgn<��« �®qtcPn nl|r|ti3|�|rnlmUxzegpDf'�&jlkTq�i3kTq�qtcPn�f�qrkDM+qtcDxzq��3i<k ¬ |tn�m�i3|tn hTkP�Pegi<kDfxz�&i<kPq'�Dx<pDh�qrn'f�q�xz�$xzegp � �§nlnl��j}kPq�qtegpP�U�Dx3jG�UkPp$qtegwIqtcDn�nl|r|ti3|dhPegfrxz�P�&n'x<|rf'�

#�fte�hTn � nlmoi<qtegi<pDx<w{wg�<�¢e�q5¬ fov3nl|r��hTe m�jlkPw�q�qtiyj}kTqUi3kTq�j}iThTn)qtcVx�qU�<i3k ¬ v3n � i<|r�<n5h�i3p x<pDh��&i3frfte{�Pwg��hTn'�PkP�3�<n'h ��&n'jlx<kDftn��<i<k�hTi3p ¬ q � xzp$q[qriUcDx�v<n�qtiU|rnGX hTioe{q'� EDkP|tqtcPn'|tmoi<|rn<�Te{q[��nln'wgf�w{eg�<n§e{q'¬ f�x � x<f�qtn�iz�-qtegmon<�&j}i<mo�Dx<|tn5hUqri0��kDf�q|rnGX |tn5x<hTegpP��qrcPn�j}iThTn3�UbdcPegf§e�f�x<p�egw{wgkDfte{i3p �IqrcPi<kP�3c ��z®i<k � egw{w®x3j�qtkVxzwgw{��frx�v<n qtegmonU����hTnl�DkP�<�3e{pP�)egp+x<p�n M&n5j�qre{v3n� x��<� EKeg|Gf�q5�PqtcDnl|rn�xz|rn§q � i � x��Tf¤qti¯x�v<i<e�h)cDx�v�e{pD�oqtiU|rnGX hTi�xzwgw qrcPn jli�hPn��<i<k£jlkTq�i3kTq'� � pPn�e�f[qri�j}i3����qtcDn�nlp$qre{|rn�P|ri<�3|rx<m�qriox�qtn'mo�Vi3|rx<|t��FDwgn�j'xzwgw{n5hI�Pfrx�� �EU*x ] K�X � z®i<k�jlxzp�qtcPn'p)jlkTqd�Dxz|tqrf¤i<kPqdi<� �EU*xc] K%X xzpDh�n}�T�Vn'|tegmonlp$q � e�qrce{q�kPp$qtegw0�<i3k£hTn}qrnl|rm�egpPn � cDx�q§jlxzkVf�n5h)qtcPn�nl|r|ti3|¥egp qtcPn i<|re{�3e{pVxzw.FVw{n3�DqrcPnlp��<i<k£j'xzp�hPegfrjlx<|rh �EU*x ] K%X x<pDh �3i��Dx<jG�qtioqrcPn�i3|teg�<egpDxzw�FDwgn�xzpVh.��kVf�q FD��qtcDn�nl|r|ti3|'� #�w�qrnl|rpDx�qre{v3nlwg�<�P�3i<k jlx<p)jli<��� � �Dx3f�qrn�qrcPn��Pegn'jln'f[�3i<k)|tn'm�i�v3n���|ti3m�qtcDni<|reg�<egpDxzw0qri£xzp YRUEDED[`��[M[O K%X FDwgn<� � pVj}nU�<i3k ¬ v<n���i<kPpVhyxzpDh<FP�Tn'h�qrcPn��PkP�V�Ke{q'¬ f�n5x<ft� qti£jli<��� � �Dx3f�qrn�qtcPn'm �Dx3jG�6�~¢kTqtqtegpP��i3kTq¤jli�hPn¥mUxz�<n5fO�<i3kP|¢hPnl�PkP�3�<egpP��moi<|rn¥n�m�jle{n'p3q¤nlv3nlpUe{� �<i<k�¬ |rn ��kDf�q¤|rnGX |tn5x<hTegpP��qtcDn�j}iThTn3�$ftegpDj}n¥�3i<kUcDx�v3nwgn'frf¤qtiU|rnGX |tn5x<h�x<pDh)�<i<kD|¤|rn'x3hTegpP�oegf¤��iTj}kVftftn'h¯i<p)qtcDn�|tn'w{n'v�x<p$qd�&i<|tqtegi<p)iz�KqtcPn FVw{n3�

� ��jli<kP|Gf�n3�O�<i3k ¬ |rn��P|ri<�Vxz�Pwg�uqtcPegpP��e{pD��qrcDx�qUe{q'¬ f n5x<fte{n'|���kVf�q�qti+j}i3m�mon'p3qoi<kPqoftn'j}qtegi<pDf'��xzpVh�egpDhTnln5hyqrcDx�qoegfqt|rkPn3� � i � nlv3nl|5�$«�¬ m x<hTv3i�j'x�qre{pP���&nlegpP�Uv<n'|t��|rkTqrcPw{n5ftf � e�qrc�qtcPn�jlkTq�qre{pP�V�Vx<pDh � cDnlp w�xz|r�<n§jGc$kDpP�Tf[iz�-qtcPn�jliThTn�xz|rnj}i3mom�n'p$qtn'hoi3kTq'�$e{q¤jlx<pU�Vn5j}i3m�n�hTe mUjlkPw{q�qti�|tn5x<h�qtcDn¥|tn'w{n'v�xzp$q¢j}iThTn3�ObdcPnl|rn}��i3|tn3�<e{� �<i<k�¬ |rn[i<pPwg��cDx�v�e{pP�§qri�j}kPq¢i<kPq

Page 12: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

xUftmox<w{w��Dxz|tq¥iz�0qtcDn�j}iThTn<�V���¯xzwgw mon'x<pDf[�3i�xzcPn5x<h�xzpDh�jli<momonlp$q¥i<kTq5�¢«dhTiV� � i � n'v<nl|5� � cPnlp �3i<k)��nln'wKjli<pT��kDftegi<pftn}q¥egp)x<pDh¯��|tkDf�qt|Gx�qre{i3p¯|re�f�n3��qrxz�3n�xUhPnlnl�)�P|rn'xzqtc xzpDh)f�qrxz|tq¥j}kTqtqtegpP�D�� i � hPi��3i<k hPn'j}e�hTn � cPe�jGc��Dx<|�qGfKx<|tn¤e{|r|rnlwgnlv�xzp$q���bdcPe�f0egf0x¥v3nl|r��hTe m�jlkPw�q®hTn5j}e�f�egi<p � e{q0hTn'�Vn'pDhPf0i3p�qtcDn¢pDxzqtkP|rn¤iz�qtcDn��P|ri<�Pwgnlm �<i3k ¬ |rn[cDx�v�egpP�D�$xzpDho�3i<k � egw{w&�<nlq��Vnlq�qrnl|¢xzq�e{q¤x<f��<i3k�wgn'x<|tpUmoi3|tn3�-­�|ti3�<|GxzmUf0xz|rn[cPn'x�v�egw{�oj}i3p3qrn}��qtkVxzw:�ftioxo�DkP�Uwgxzqtn'|[e{p)qtcDn��P|ti3�<|Gxzm e�f[iz�©qrnlp hTn'�Vn'pDhTnlp$q�i3p�m�kDjGc¯qtcDxzq � n'p$q¥�Vnl��i<|rn<� � i � n'v<nl|5��e��0�<i3k)j'xzp hTnlqtnl|rmoe{pDnqtcDn�f�nlqdi<�Kv�xzwgkPn5fd�P|tn'v�xzegw{egpP�ox�q[qtcDn�qre{mon�x��PkP�oiTjljlkP|Gfl���<i3k¯mUx��U�&n�xz�Pwgn�qtiUj}kPq¥i<kTq¥xzp��$qtcDe{pP��qrcDx�q[e�fdkPpP|rnlw�x�qtn5h

qtiUftn}qtqtegpP�oqtcPi$f�n§v�xzwgkPn5fl�~¢kTq�xzqd��kPpDj�qre{i3p��Vi3kPpDhPx<|tegn'f

« �O�<i3k�j'xzp hTnlqtnl|rmoe{pDn�qtcDxzq�qrcPn��PkP��egf[egp£xo��kPpVj�qtegi<p i3|¥mon}qrcPiThI�V�3i<k jlx<p egfti<w�x�qrn�e�q��Vn5jlxzkVf�n��3i<k���pPi � qtcDxzqqtcDn���kPpDj}qtegi<p i<|[monlqtcPiTh ftcPi<kPw�h hTn'�Vn'pDh�i<pPwg��i3p�e�qGf[e{pD�PkTqrf�� x<pDh�mUx��$�&n�fti<mon��<wgi<�Dx<wIv�xz|regx<�Pw{n5fl�DcPi<�&n}��kPwgwg��i<pDw{�x ��n � �}�

~¢i3pDFD|rm � cDx�q[�3i<k)�Vn'w{egnlv3n<�#�fd�3i<k)�<i�qtcD|ti3kP�<c�xojGcDxzegp¯i<�K|rn'x3f�i3pPe{pD�D�Tj}i3pDFD|rm qtcPegpP�$fdqtcDxzq¥�<i3k¯jlx<p �

� � #¤q¤qrcPe�f[�Vi3e{p$q5�T�¯e�fd�Vi$f�e{qtegv<n� ��¡�iD��qrcDx�q¥mon'x<pDf'�TcPnl|rn<��qrcPegf FDw{n � egwgw �Vn�|rn'x3h�D�¥bdcDx�q[mon'x<pDf¤qtcDxzq � n3¬ wgw�ft��e{�¯qtcPe�f¥x<w�qrnl|rpDx�qre{v3n�j'xzw�j}kPw�x�qre{i3p�V�¥bdcPnl|rn}��i3|tn3�3qrcPe�f[izqrcPnl|d��kPpVj�qtegi<p�e�f¥jlx<w{wgn'h�P� #¥pDh�fti qrcPe�f � cPegw{n§wgi$i3� � e{wgwI|tkDp

#¥pVh�fti���i<|tqtc��-« q5¬ f¢kP��qti��3i<k � cPnlqtcPn'|�qri �DkTqdx£¨��P|re{p$qGª�f�qrx�qrnlmonlp$q¢��i<|¤n'x<jGcUi<� qtcDn'ftn�f�qtnl�Vfl� � p�jlw{n'v<nl|�qtn5jGcPpPe 53kDne�f�qri�qr|t�oqri kVf�n)¨��PegpDx<|t�Uftn'xz|GjGc � ª£­®kPqdx �P|re{p$q[f�qGx�qtn'monlp$qdxzq¢qrcPn�qtcPeg|Gh�egpT��nl|rnlpDjln�x<�Vi�v3n¥qri�hTnlqtn'|tmoegpPn�e{�Ke{q'¬ f¢qt|rkPn<�« �0e�q¥e�fl�D�<i<k)jlx<p � i<|r|r�ox<�Vi3kTq¥egpT��nl|rnlpDjln'f �UxzpVh �P�0« �-e{q'¬ f[pPi<q'�P�3i<k�cVx�v<n�qti � i<|r|t��x<�Vi3kTq¥e{pP��nl|rnlpDjln'f � xzpDh � �

#¥wgw�iz�PqrcPn'ftndf�qrnl�Df-mUx���f�n'nlm wge{�3n¤x � x3f�qrn�i<�Pqtegmon � n5hTe{qtegpP��qrcPn FDwgn<�zx<hDhTe{pD��qrcPn¢�D|tegp$q0f�qrxzqtnlmon'p3qGfl��|rnGX j}i3mo�Pe{wgegpP�xzpVh£|rnGX |tkPpDpPe{pD�D� /¥n'v<n'|�qrcPnlwgn'frfl�&qrcPnl�£x<|tn�moi<|rn��P|riThTkDj�qre{v3n�qrcDxzp�|tn X:|rn'x3hTegpP�UqtcDnojliThTn���i3|�qtcPn�kPmo�Tqtn'nlp$qtcuqre{mon<�cPi3�Pe{pD��qri�jlx�qGjGc�qrcPn[�P|ri<�Pwgnlm��0bdcPnl� xzw�f�i�n}�Tnl|Gj}e�ftn¤�3i<kP|0wgi<�3egj'xzw$� x<jlkPw�qre{n5fOxzpDh�cPn'w{���<i3k kDpDhTnl|Gf�qrxzpVh��3i<kP|0�P|ri<�3|rx<mm�kVjGc¯�&n}qtqtnl|5� � cPe�jGc�e{pVj}|rn'x<ftn'f¢qrcPn�jGcDxzpVj}n�qtcDxzq[qtcPn�n'|t|ri<| � egw{w�f�qrx<pDh)i<kTq5�#�j}i3m�moi3p �P|ri<�Dw{n'm qtcDxzq®iTjlj}kD|rf � cPn'pohPnl�PkP�3�<egpP�§egf0�3n}qtqtegpP��j}i<pP��kDf�n5h x<�Vi3kTqOqtcDn[nl|r|ti3|-x<pDh��3i<kP|Oc����&izqtcDn'ftn'f'�EPi3|¢nl�Pxzmo�Pwgn<� � cPnlp � n�egpT��n'|t|rn'hI��xz�&i�v<n3�<qrcDx�q¢qtcPn§xzw{qtn'|tpVx�qtegv<n¥j'xzw�j}kPw�x�qre{i3p � egw{w&�Vn§ft�$eg�P�&n'hI�Tx<pDh � n[qtn5f�q¤qtcDxzq¤x<pDhe{q'¬ f�pPi<q�qr|tkPn3� � n�pPi � cDx�v<n�x�pPn � �DkP� �-� c���e�ftp ¬ q¢qtcPn§xzw{qtn'|tpVx�qtegv<n�jlxzw�j}kDwgxzqtegi<p�ft�$eg�P�&n'h�� �9bdcPe�f¢e�f¤x�q¢wgn'x3f�q¤x�moi<|rnegp3qrnl|rn'f�qtegpP�o�PkP��qtcVxzp�¨tftnl�3m�n'p$qrx�qre{i3p�� x<kPw�q�� ª)�o¡$qtegw{w:�Pe{q'¬ f[n'x3f���qtio�Vn5j}i3m�n�jli<pT��kVf�n5hI�

b-xz�3n�pPi<qtn5f{PmUx<�<n§v<n'|rfte{i3pDf« q'¬ f �Vn'|���n5j�qtwg�u|tn5x<fti<pDx<�Pw{n3� � cDnlpyqr|rx3jG�$egpP�£hTi � p�x�hTe m�jlkPw�q��PkP�V�Kqri�n'pDh+kP� � e{qtc FVv<n�i3|�qtn'p�v<n'|rftegi<pDf�i<�[�<i<kD|�P|ri<�3|rx<m)� � e�qrc�hTe M&n'|tn'p3q¤hTnl�PkD�<�<egpP��f�qrxzqtn'm�n'p$qrf®egpUqrcPnlm��Ob�|r� qti�pDx<mon[qtcPn'm�i<|��DkTq¤x�pDizqtn�e{pUqrcPnlm x<�Vi3kTq � cDxzq�<i3k ¬ |tn � i3|t��egpP��i<p �P�Vxz|tqte�j}kPw�xz|rw{�Ue{�0�<i<k)cDx�v3n�qriUw{n5x�v<n�qtcPn�jli<mo�PkTqrnl|[�&n}��i<|rn§�<i3kTFDpVh�qrcPn��PkP�V�

E-e{pVxzwgw{�3�b-xz�3n�xo�P|rn'x<�

¡�i3m�nlqtegmon'f�«¥hTi)m����Vn5f�q�hTn'�PkP�3�<egpP��egp£qtcDnoftcPi � nl|�i<| � cDe{wgn � xzwg��e{pD��cPi3m�n3� #¤q�qrcPn v3nl|r��w{n5x<f�q'�6�<i3k�jlx<p�j}wgn'x<|�<i3kP|dcPn'x3h�xzpDh)j}i3m�n�xzq¥e�q�x<�3xzegp � e{qtc)��|rn'ftc)qtcPi3kP�<c$qrf[x<pDh)x�q�qre�qrkDhTn3��bdcPnlp)�<i3k ¬ w{w FDpVh¯e{q 5$kPe�jG�$wg�<�

����� � � � ��� ��� � � ��� � � ��� � n'|tnoxz|rnof�i3m�n 5$kPe�jG�£�<n'pPnl|Gxzw � x<|tpDe{pP�$fl��¡�i<mon�iz��qrcPn'ftn � e{wgwOmUxz�3n moi<|rnof�n'pDf�nox��©qrnl|§�<i3k ¬ v<n�|tn5x<h qrcP|ri<kP�3c£qtcDnqtnl��q'�P�PkPq[qtcPn'�&¬ |rn�kP����|ri<p$q�ftio�<i<k)jlx<p)n5x<fte{wg�U|rnlmoe{pVh¯�3i<kP|Gftnlw{���

%

Page 13: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ~�x<pDh�~ ����hTi£pDizq hTi �&i<kDpDhPf X jGcPn5jG��e{pP����i3|�xz|r|Gx���f'��fti£�<i3kyjlxzp+qGxz�3noqtcPn � ��qrcyi<| � � P qrc+nlwgnlmonlp$q�i<�[x<pxz|r|rx���i<� �-P nlwgnlmonlp$qrf'� ! cDx�q¢cDxz�P�&nlpVf �$#¥wgwD�&n}qGf�x<|tn[iQM-� � �©qtn'p �$�<i<kD|O�P|ti3�<|Gxzm ��kDf�q¤jl|rx3f�cDn'f � ftnl�3monlp$qrxzqtegi<p� xzkPw{q0�}� � qtcPn'|dqtegm�n5fl�De�q�jli<mo�PkTqrn'f[m ��f�qtn'|tegi<kVf�qrcPegpP�3f'�®�<kVf�q[�&n�|tn5xzwgw{��j'xz|rn}��kPw:�

� ~>x<pDh�~ ��� hTi�pPi<q�jGcPn5jG���&i<egp3qrnl|Gf[�&n}��i<|rn§��i<wgwgi � e{pP�oqrcPnlm��¥¡�iV�Vxzwgw qrcPn�frxzmon � xz|rpPe{pD�3f¤��|ri<m qtcPn��D|tn'v$egi<kVfe�qrnlm x<�P�Pwg�<� ��« p�� x<j}q'�Ve{p�~ � ~ ��� x<p�x<|t|Gx��Ue�f ��kDf�q�xo�Vi3e{p$qrnl|[qriUe�qGf FD|Gf�q¥n'w{n'monlp$q'�&f�i�qtcDn'ftn�xz|rn�x<j�qrkDxzwgwg��qtcDnftx<m�n�qrcPe{pD�D� � z®i3k � i3p ¬ q[�3n}q¥x�� U>NEN��[Y8_qp*D[MPZ��Er2XRMRFED2_�YRp {��3i<k ¬ w{wI�3n}q¥xof�n'�<monlp$qGx�qtegi<p¯� xzkDw�q5�

� ~ xzpVh ~����>hTiopPi<q¥xzkTqri<mUx�qregj'xzwgw{��egpPe{qte�xzwge��'n�v�xz|regx<�Pw{n5fl�-« �0�<i<k�frx�� �_ p*D r �_ p*D���Q � I� F8Y8_qp*D[MPZ D[Y `�p _qpED[MPx[MPZ�RI

r j}i3kPwgh�cDx�v3n�x<p$��v�x<w{kDnoxzq�xzwgw9�-xzpDh Q j}i3kPw�h��&i<egp$q�xzp�� � cPnl|rn egp+monlmoi<|r�<�o­0i<egp$qtnl|Gf§xz|rnlp ¬ q�e{pDe�qregx<w{e �ln5h£qri/�¦6IBI®�®x<pDh�egp$qtnl�3nl|Gfoxz|rnlp ¬ q�egpPe{qte�xzwge��'n'h�qti �ln'|tiV��z®i3ksftcPi<kPw�h , " : ,��a5�egpPe{qte�xzwge��'n��<i<kD|�v�x<|te�xz�Pwgn'f�xzpVh��3i<kf�cPi3kPw�h ,2" : , �a5�jGcPn'jG�)xo�Vi3e{p$qtn'|¥�&n}��i<|rn§��i<wgwgi � e{pP�Ue{q {DqtcPn j}i3f�q¥egp n�m�j}egnlpDjl��e�f�fte{mo�Pwg�)pPizq � i<|tqtc x<hPm�e{q�qre{pD�qtcPe�f[f�i3kP|Gj}n§iz�-nl|r|ti3|'�

� ��i3p ¬ q�pDx<m�n+x��D|ti3�<|Gxzm D*M8O�D �¥nlv3nlp qrcPi<kD�<c e{q'¬ f�xyqrn'f�q��D|ti3�<|Gxzm�� bdcDxzq'¬ f)�Vn5jlxzkVf�n�qtcPn'|tn3¬ f�x��DkPe{w{q X egpj}i<momUxzpVh�e{p£¦�pPe��£j'xzwgw{n5h�¨�qtn5f�q5� ª � cPegjGc � e{wgw qGxz�<n��P|tn5j}n5hTnlpDjln�i�v<n'|[�<i3kP|��P|ri<�3|rx<m�pDx<m�n3�Lz®i<k�j'xzp£j'xzwgw�e{q�P|tnlq�q���m kDjGc�xzp��$qtcPegpP�onlw�f�n3�0« �-�3i<k ¬ |tn�nlv3nl| � i<|r|tegn'h�qtcDxzq[qtcPn��P|ri<�3|rx<m�qtcDxzq¥egfd|rkPpPpPegpP�oe�f[pPizqdqrcPn�i<pPn§�3i<k� |ti<qtn<� ��kDf�q�x3hPh¯x��P|regp3q�f�qrxzqtn'm�n'p$qdegp)qtcPn FV|rf�q¥w{egpPn§iz� b?`>_ p �

� ­®|re{p$q�f�qGx�qtn'monlp$qrf�egpy~ xzpDhy~ ��� kVf�n��PkDM6nl|rn'h�« � � � � cPe�jGc�mon5xzpDf�qtcDnl��x<|tn'p ¬ q§�P|re{p$qrn'h�qti)qtcPnUfrj}|rnln'p£qtcDnm�i3monlp$q[qtcPn'�¯x<|tn§n}�Tn5j}kTqrn'hI�P�DkTq�egpDf�qrn'x3h)x<|tn§�P|regp3qrn'h¯qti�x<p�e{p$qtn'|tpVxzwI�PkDM6nl|¥qtiU�&n��P|re{p$qtn5h)wgxzqtnl|5�®bdcPe�f¥jlx<p�Vn§j}i3pT��kDfte{pP� ��i<|dhTn'�PkP�<�3e{pD� f�qrx�qrnlmonlp$qGfl�ObdcPn'|tnl��i<|rn<�$�<i<kD|¤hTn'�PkP�3�<egpP� f�qrxzqtnlmon'p3qGfdf�cPi3kPw�h7, " : , �a5§nlpDh � e�qrcx pDn � wge{pPn�jGcVxz|Gx<j�qrnl|5�3wgeg�<n�qtcPe�f �

F*Z?_qp*DEt�����*YRD D[YyDGBc_GO�N8_ p8MCK �p �����

� bdcPnl|rn e�f§pPi�¨�pDn � ª¯i<�&nl|Gx�qti3|§e{p�~���x<f�qrcPnl|rnoegf§egpu�$x�v�xP� fti��<i<k�cDx�v<n qti)qrcPe{pD��xz�&i<kPq§v�x<|te�xz�Pwgn'f�egp�qrcPn¯~� x��3�

� ¦¥p$qtegwI�<i3k���nln'w moi<|rn�jli<m���i<|tqrx<�Pwgn � e{qtc¯qtcPn�w�xzpD�<kDx<�<n<��x�v<i3egh¯hT��pDxzmoe�j�mon'm�i3|t�¯xzwgw{iTjlxzqtegi<p�egp�~�e{�K�3i<k¯j'xzp �« q � i<p�¬ q¥c�kP|tqdqtiU�P|rnGX xzwgw{iTj'x�qtn§f�qt|re{pP�$fdxzpDh�xz|r|Gx���f � cPegw{n§�3i<k ¬ |tn�f�qtegw{wKx pDi�v$e�j}n3�

� �®|r|ti3|�mon'frfrxz�<n5f���|ti3m qtcPn¯~ i<| ~���� jli<mo�Pegw{n'|�jlxzpu�&n�j}|r���Tqte�jz� � pPnoqrcDx�q�i<�©qtnlpuqr|teg�Df§�&nli<�Dw{nUkP�+e�f ¨��Vx<hw{v�xzwgkPn3� ªubdcPe�fdm�n5xzpDf¢qrcDx�q[qrcPn�j}i<mo�Pegwgnl|[jlx<m�n�x3j}|ri3frf¢fti<mon}qrcPegpP��qrcDx�q¥e{qdqtcPegpP�Tfde�f[xzp�x<frf�eg�<pPmon'p3q5���PkTq[qtcDnqtcPegpP��i3p¯qrcPn6" # .%���qtcPn6"©v�x<w{kPn!�de�f�p ¬ q�xUf�qti3|rx<�<n§w{iTj'x�qtegi<p�� EDi<|¥nl�Tx<mo�Pw{n3�D�3i<k�moe{�3c3q��<n}q�qtcDxzq�nl|r|ti3|dm�n5ftfrxz�3n� e�qrc¯qrcPn§��i<wgwgi � e{pP�oj}iThTn �

_�t�� r�GQ�� � ���"KEKGK

z®i<k£�P|ri<�Vxz�Pwg��mon'x<p$q�qti � |te{qtn r�PQ��� � �P�PkTq�x<j'j}e�hTnlp$qrx<w{wg�)w{nl�©q�i<kPq�xzp�n�5$kDxzw�f�fteg�<p � x�j}i3mom�i3p£nl|r|ri<|[��i3|�Vn'i<�Pwgn�kDftegpP�o~��D~ ��� i3|¢�$x�v�xP�0bdcPn�n'|t|ri<|�m�n5ftfrxz�3n ��kDf�q¤mon5xzpDf�qtcDxzq¤�3i<k�j'xzp ¬ q¤x3ftfteg�<p�x�v�x<w{kDn¥qti r�PQ ��f�egpDjlnqtcDxzq'¬ fdpPizq�xof�qti<|Gxz�3n�wgiTjlxzqtegi<p �

����� e � � � ����� � ���#¥wgwIj}iThTn � e{wgw6�Vn�egp¯x FP�Tn'h X � eghTqtc DEQGF8MRJEZ?_aD[MPZ ��i<p$q'� ! cPn'p¯x<p�egp3qrnl|Gx<j}qtegi<p � e{qtc�qtcPn§j}i3m�mUx<pDh�wge{pDn�e�f��3e{v3nlp ��«�¬ w{wkDftn�qtcDn��Vn'|rjlnlp$q�fte{�3p x<fdqrcPn�¦¥pDe�� �P|ri<mo�Tq�x<pDh�kDftnl|¥egpP�PkTq � e{wgw��&n�egp �Vi3wgh {DqrcPn�j}i3mo�PkTqtn'|'¬ f¥|rn'ft�&i<pDftn � e{wgwK�&n�egpi<|GhTegpDxz|r�oq����Vn � |te{qtn'|d��i<p$q'� EDi<|[nl�Tx<mo�Pw{n �� T*`PD[M^GU8M s[XaD �i]���H����CH�������E^� �����

bKi qtcPn)n}��qrnlp$q�qrcDx�q�e�q�moxzq�qrnl|Gfl�O« � egw{w¤�&n)x3ftftkPmoe{pD��x£¦¥pDe�� � I�e{p�kT�y�P|ri<�3|rx<mom�egpP� n'p$v�eg|ti3pPmonlp$q'��« �¥�<i<k�¬ |rn�P|ri<�3|rx<m�moegpP��egp ! e{pVhTi � f[i<|di3p�x+W£x3jz�T�3i<k ¬ w{wIcVx�v<n�qtiUmUxz�3n�qrcPn�xz�D�P|ti3�P|regxzqtn¥qr|rx<pDftwgxzqtegi<pDf'�

&

Page 14: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

N

Page 15: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �

� ������� � ��� �� �

« puqtcPe�f�i3�Vn'pPe{pD�£jGcDxz�Tqrnl|5� «�¬ w{w®kVf�n�x�ftmox<w{wOnl�Pxzmo�Pwgnoqti�e{p$qr|tiThTkDjln�f�i3mon��3nlpPn'|rx<w0m�n5jGcDxzpDegj'f§iz�d�P|ti3�<|Gxzmomoe{pD�¯egp~��DbdcPn�pPn}��q�jGcDx<�Tqtn'| � e{wgwKftkP|rv<nl��qtcPn ~ w�xzpP�3kDxz�3n<�Tj}i3m��Vxz|re{pP�oe{q¥qti��$x�v�x � cPnlp)qtcVx�q'¬ f¥cDnlwg�T��kPw:��«�¬ w{w-hTn}��n'|�xzwgwIqtcDnhTnlqrxzegw�fdiz�-qtcPn�jli�hPn�kDp3qre{w qtcPi$f�n�ftn'j}qtegi<pDf'� EPi<|[pDi � �Tw{nlq'¬ f ��kDf�q�hTe{v3n§e{p xzpVh��3n}q¥i<kD|[cDxzpDhDf[hTe{|tq��<�#�f � e{qtc�moi3f�qU�P|ri<�<|GxzmomoegpP�D� � n f�qGxz|tqoegp�xzp n'hTe{qti3|'�>¡$qGxz|tq � e{qtc��3i<kP|�� x�v<i3|te{qtn¯n'hTe{qti3|'� � cPe�jGc�ftcPi3kPwghs�&n�®mUx3jlf'��H!�|re{qtn§qtcDn§��i<wgw{i � egpP�oj}iThTn<�®bdcDegf[e�f¤qtcDn�pDxzkDftn'xzqtegpP�<wg�U� x<m�i3kDfo¨�cDnlwgw{i � i<|rwghPª �P|ri<�3|rx<m)�

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

F*Z2_qp*D*t�� ���[M*NENPY��8YPZ[NPT��� �p ������

¡Tx�v3n�qtcDxzq§x3f B8M*NENGY�K%X �Dx<pDh�qtcDnlp+f � e{qrjGc qri¯x�¨tftcPnlwgw9� ª � «�¬ m x3ftftkPmoegpP���3i<k ¬ |tn��P|ti3�<|GxzmoegpP�Ue{pu¦¥pPe{� � I�e{p�kT�-���!un�pPi � pPn'n'h¯qtiUjli<mo�Pegw{n�x<pDh�|rkPp¯qtcPn��D|ti3�<|Gxzm��

bdcPn kDf�kVxzw®~ j}i<mo�Pegwgnl|�i3p�xTI�e{p�kT� mUx<jGcDe{pPn�egf�qtcPn -0/�¦ ~ ~¢i<mo�Pegwgnl|5�&j'xzwgw{n5h �3j'jz� z®i3k�jlx<p£|rkPp£e{q�i<p��<i<kD|�P|ri<�3|rx<m)���PkPq�qtegpP�oqrcPn�i<kTqr�PkTq¥egp B[M*NENGY x<f¤��i<wgwgi � f �� x2XEX B8M*NENGY�K%X��GY�B8M*NENPY�

/¥i<qte�j}n�qtcDxzq�e{��e�q§f�kVjlj}n'n'hPf'�VqtcPnoj}i3m�mUx<pDh���kDf�q6FDpDegftcPn'f � e{qtcPi3kTq�x<p��¯pPi3egftn�i3| � xz|rpPegpP�D�6��i<p�¬ q§w{i�i3����i3|�x<p$�j}i3pP�<|Gx�qrkPw�x�qtegi<pVf®��|ri<m ¦¥pPe{�I�

z®i<k£jli<kPw�h)�PkTq��<i<kD|¥i<kTqr�PkTq�egp�x<p$�TFDwgnlpDx<m�n3�D�PkPq�e{q'¬ f[qt|Gx<hPe�qre{i3pDxzwIqri�pDx<m�n�e�q�qtcPn�frxzmon�x3fdqtcDn�mUxzegp£f�i3kP|rjlnFDwgn<�P�DkTq � e�qrcPi<kPq�xzp ¨�n}��qrnlpDfte{i3pDª � x<p$�$qrcPe{pD�oxz�©qtn'|dqtcPn�hTi<q0�}�

z®i<k�pPi � pPn'n'h�qti)|tkDp�qrcPn �D|ti3�<|Gxzm���bdcPe�f§egf§hTi3pPn ���£�3e{v�egpP��e{qrf§pVxzmon i3p�qrcPnUj}i3m�mUx<pDh£wge{pDn<����kDf�q�x<f�e{�¢e{q� nl|rn§xojli<momUxzpDhI��yB8M*NENGY�[M*NGNGY��8YPZ8NPT���

� � p�fti<mon�jli<mo�PkTqrnl|Gfl�$�<i3kopPnln5hoqti��D|tn5j}n'hPn[qtcPn�j}i3m�mUx<pDhopDxzmon � e{qtc KSI �$�Vn5jlx<kDf�n��<i<k�hPi<p ¬ q�cDx�v3n�¨l� ª �9hTizq �i<p��<i<kD|�­K#Ob � �®~¢i3pDftkPw�qox£wgiTjlxzw¤�<kD|tk�i3|�ft�Tf�qrnlm x<hPm�egpPe�f�qr|rxzqti3|�e{���<i3k�hTi<p�¬ qo��pPi � � cDx�q qtcDxzq�w�x<f�q�ftnlp$qrnlpDjlnmon'x<pDfl� ��[nlqtkP|rpPegpP� qti�qtcPn�j}iThTn3�0�<i<k�¬ wgw¤ftnln�qtcDxzq qrcPnl|rn�e�f x£��kPpDj�qre{i3p�pDx<m�n5h b?`>_ p �0xzpDh�e�qUjlx<w{w�f�x£��kPpDj�qre{i3p�pDx<m�n5h

F*Z?_ p*D*t qtiU�P|regp3q¥xof�qt|re{pP����qtcPn�f�qtkRM�e{p�5$kPi<qrx�qre{i3p¯mUx<|t�Tf0��� ��i3p ¬ q � i3|t|r�Uxz�&i<kTq[qrcPn � _ p?XPN�U[TEM wge{pPn§��i3|[pPi � �I nlq'¬ fdhTiUf�i3m�nlqtcPegpP�Uftw{eg�<c$qtwg�Umoi<|rn�egp$qtn'|tn5f�qre{pP�V� I n}q5¬ f � |re{qtn�x��P|ti3�<|Gxzm�qtcVx�q � e{wgw6qtn'w{wIkVf¤qtcPn�ftkDjljln'frf�i3|¢i<�-x<p$�p�kPm��&nl| � n��<egv<n�e{q'��b¢���Vn�qtcDn§��i<wgw{i � egpP�Uj}iThTn§egp3qriUxzp�n'hTe{qti3| ������! #"!$ %'&)(*&,+.-/$�021/3/ .0.+4�6571/$�"!�6+. .8:9�;=< >�>?+. .8@+.�A1B&)(*�! #&,&C%'&�DFEG-/H6D/I/&�IJ$�DK+.-/&L>MH6D/"!3�H6"!&LN��!(*O�H6 .$�0#�!D/0QP

O

Page 16: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B��_qp*D b?`8_qp � _qpED `PZEx2X � XqB8`PZ�� `PZEx ��������

_qpED p � `RD[Y>_ �%`RZEx ���]������F*Z2_qp*D*t�� � ^GB8M pEURb �8MRZ `GtGD[MPZ��ET _GO��ET� �p ����p � p �c]�� �

bdcPn'p)jli<mo�Pegw{n�e{q����PkPq[qtcPn�i3kTqt�PkPq¥e{p x FDwgn�pDxzmon'h p8MPrED �¢xzpVh�|rkPp)qtcPn��D|ti3�<|Gxzm x<f¤��i3w{wgi � f ��yp8MPrED \^GB8M pEU�b �8MPZ `GtPD[MPZ \ _PO���yp8MPrED �^GB8M pEU�b �8MPZ `GtPD[MPZ �i_PO ��yp8MPrED t2_*M^GB8M pEU�b �8MPZ `GtPD[MPZ�� _PO ]�yp8MPrEDWEMPx�b?MRp*D[`RD?_�YRp�t*`RU>NRD

bdcPnVFD|Gf�qoq � i�nl�Tx<mo�Pw{n5fof�cPi � qtcPn��P|ri<�3|rx<m � i<|r��e{pP��pPi<|rmUxzwgw{�3��bdcPn)qtcDe{|GhsftcPi � f qtcDn)�D|ti3�<|Gxzm�Vn'cDx�v�e{i3|� cPn'p � n��<egv<n[e{q¤xzpUn'|t|ri<pDnli<kVf®j}i3m�mUx<pDhow{egpPn�x<|t�3kPmonlp$q'�0bdcPn�wgx3f�q¢ftcPi � f0qrcPn��D|ti3�<|Gxzm �&nlcDx�v�egi<| � cDnlp � n[��i<|r�<nlqqti��<egv<n¯e�q�qtcPn�j}i3momox<pDhywge{pDn¯xz|r�<kDm�n'p$q'� ! cPnlp f�i3m�nlqtcPegpP��|tn5xzwgw{�u�<i�n'f � |ri<pP� � e{qtc xu~��D|ti3�<|Gxzm�� � n��3n}qoxftnl�<mon'p3qGx�qre{i3p�� x<kPw�q5�®bdcDx�q5¬ fdkVf�kDx<w{wg�UqrcPn�moi3f�q¥e{pT��i3|tmUxzqtegv<n�nl|r|ti3|¤mon5ftfrxz�3n<�TxzpDh)e{q'¬ f[�P|rn}qtq���kPpDX e{pP��i<|rmoxzqtegv<n3�

I nlq'¬ f��<i �Vx<jG��x<pDh+wgi$i3��xzq�qtcPn�jliThTn<� bdcPn `PZEx e�f�x v<n5j�qri<|�iz�dqrcPn�j}i3momox<pDh X w{egpPn�x<|t�3kPmonlp$qrf'�V�¢x<jGc+egf�xf�qt|re{pP� � � n<¬ wgwO�<n}q§egp3qri�cPi � f�qt|re{pP�$f§xz|rn�|rnl�P|rn'ftnlp$qtn5h�x<pDh£cDx<pDhTwgn'h�e{p�qtcDn�pDn}��q�jGcDxz�Tqrnl| �����®wgnlmonlp$q � e�f�qtcPn�FD|Gf�qj}i3momox<pDh X w{egpPn§xz|r�<kPmon'p3q5�$x<pDh��3i<k)jlxzp)f�n'n�qrcDx�q � n�cDx<pDh�qtcDxzq¢qri `PD[Y>_ qri ��egnlw�h¯x<p�egp$qtnl�3nl|5�-bdcDn `PD[Y>_ ��kPpDj�qre{i3pj}i3p�v<nl|tqrf®��|ti3m�x�f�qt|re{pD� �9xzwg�PcDxz�&n}qregj��Oqri egp$qtn'�<nl|q{$e�q[|rn}qtkD|tpDf �ln'|ti e��Ke�q¥hTi�n'ftp ¬ q¤kDpDhTnl|Gf�qrxzpVhoqtcPn§f�qt|re{pP�V� EKegpDx<w{wg�<� � n�P|re{p$q[i<kPq[qtcPn�v�xzwgkPn�kDftegpP� FEZ?_qp*D*t x<pDh)f�qr|rx<pP�<n �ET mUxz|r�<n'|rf � cPnl|rn�qtcPn�p�kPm �Vn'|rf[x<|tn�ftkP�P�&i3ftn'h�qtiU�3iD�b-xz�<n `PD[Y>_ xzpVh FEZ?_qp*D*t i<p+� x<e�qrc+��i<|�pDi � { � n3¬ wgw�wgn'x<|tp+moi<|rn�xz�&i<kTq qtcPn'm w�x�qrnl|5� I n}q5¬ f��<i i3p+qti£mUxz�3nUqtcDn�P|ri<�3|rx<m x��Pe{q�moi<|rnUkDf�nl��kPw����uj}i<mo�PkPqtegpP��fti<mon}qrcPe{pD� � n�j'xzp ¬ q�pPn5j}n'frfrxz|re{wg��hTi egpyi<kP|�cPn'x3hPfl�V!�n3¬ wgw¤kDf�nUe{q�qrij}i3mo�PkTqtn��&i � nl|Gfl�0b����&n§qtcPn§��i3w{wgi � egpP� egp$qtiUxzp�n5hTe�qri<| �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� qb?`PDGB K+B�� I � t*YPZyF8YRJ �PI

I � � YPD[M�DGB[`PD DGB8MPZ[M _POy`Rp MPZEZ*YPZ _qp DGBc_GO�F*Z[YRxEZ[`ab � �PI_qp*D b?`8_qp � _qpED `PZEx2X � XqB8`PZ�� `PZEx ��������

t[NPYE`PD r � Q �

r � `PD*YGt��%`PZGx ���]�� ���Q � `PD*YGt��%`PZGx �� �� ���F*Z2_qp*D*t�� � �Et D[YyDGB8M��Et _GO �Et� �p����'r �'Q �'F8YRJ ��r �SQ � ���

bdcPn `RD[YGt ��kPpDj�qre{i3p�e�f�wgeg�<n `PD[Y>_ �Dn}�Pjlnl�Tq�qtcDxzq�e{q§jli<p�v<n'|�qGf¥x�f�qt|regpP��qri¯x <Vi3x�qre{pD���&i<egp3q�p�kPm��&nl|5� � qrcPnl| � e�f�n3�qtcDn��D|ti3�<|Gxzm�egfdx�f�egmo�Pw{n§v�xz|re�xzp$q¢i<� � cDxzq � n<¬ v<n§f�n'nlp � � i � n'v<nl|5��x<f�qtcPn�j}i3mom�n'p$qdfrx��Tfl�$qtcDnl|rn<¬ f¤x�ftkP�Tqtwgn�nl|r|ti3|¢egpqtcDegf[�D|ti3�<|Gxzm�qtcDxzq¥«�qrcPegpP��e{q'¬ f[kDftn}��kPw qtion}�T�&nl|re{n'pDj}n FD|Gf�qrcDxzpVhI� I nlq'¬ f¥j}i3m��De{wgn�qtcPn��P|ri<�3|rx<m �� x2XEX F8YRJ ] K�X��GY F8YRJ ]IRD�b[F>I[XEX�Z��GU?O��F KSYCH�oqp tPUEp?X�D2_�YRp� b2`>_qp �[HIRD�b[F>I[XEX�Z��GU?O��F KSY��[K+D[MRrED���Rr��� �(H UEp*T*MGt2_qp[MGT Z[MGtEMPZ[MRp?X�M D[Y� F8YRJ��XRY*NGNGM8X�D �H NPT Z[MPDGU*ZPp8MGT ] MPr?_aD O�D*`PDGU?O

bdcPn¤nl|r|ti3|�mon'frfrxz�<n¢ftx��Tf�qtcDxzqKqrcPn F8YRJ ��kPpDj}qtegi<p�egf-kPpDhPnGFDpPn5hI�0bdcDx�q5¬ f0j}i3|t|rn'j}q { � n�cDx�v3n®qri��3n}q0e�q-��|ti3m x¥wge{�D|rx<|t�3�bdcPnUmUx�qrcu��kPpDj�qre{i3pDf�x<|tn'p ¬ q�x<kTqti3moxzqte�jlx<w{wg�£egpDj}wgkDhTn5h�egpuqtcPn�jli<mo�Pegw{n5h<FDw{n3�Kfti)qtcDxzq�qtcPn+FVw{n�j'xzpu�Vn�x3f�f�mUxzwgw�x3f

�UP

Page 17: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

�&i3frf�eg�Pwgn<�0« � �<i3k�kDftn¥qtcDnlm����<i<k�cDx�v<n[qri�pPi<qte{����qtcPn§j}i3m��De{wgnl|5�3i3|¢|Gx�qrcPnl|�qtcPn�" $'&��P#=/�� � cPegjGc�egf�qtcPn��P|ri<�3|rx<m�pDx<m�n5hNPT egpyqtcDn�nl|r|ti3|�mon'frftx<�<nUxz�&i�v<n3� b�i qrnlwgw®qrcPn�wge{pD�<nl|�qti£wge{pD��qri�x�wge{�P|Gxz|r�<�-�<i3kycDx�v<noqri�x<hDhyx �GN���������� ��������qti)qrcPn�j}i3m�mUx<pDh£wge{pDn<� EPi3|§qtcPnUfrxz�<n�iz�¤�P|rnlv�e�q��3�IqtcDn�mUxzqtc+w{eg�P|Gxz|r� egf ��kVf�q���pPi � p+x<f)¨�m�� ª ¡�iV� � nUjGcDx<pP�<n�i<kD|j}i3mo�Pe{w�x�qre{i3p)jli<momUxzpDh�qtioqrcPn§��i<wgwgi � e{pP� �� x2XEX F8YRJ ] K�X��ENqb �GY�F8YRJ ]

#¥c��Df � nlnlq¥f�kDj'j}n5ftf � /¥i � wgn}q5¬ f¥|tkPp)e{q'�*��kDf�q[qti�ftnln ��yF8YRJ ] CK�� �CK �]����G\�� � ]��� � K������������ D[Y�DGB8M ]��������E\��������CK�������������_GO _qp[t

! cDxzq���bdcPe�f�hTi�n5f�p ¬ q�mUxz�3n�xzp���f�n'pDf�n �B! c��oe�f�p ¬ q `PD[YGt�� i<|r�$egpP���P|ri<�&nl|rwg� �¯bdcPn�xzpDf � n'|Oegf�qtcVx�q®qrcPn�jli<mo�Pegw{n'|hTe�hTp ¬ q¤ftnln¥x�hPn'j}w�xz|Gx�qre{i3p i<� `RD[YGt x<p$� � cPn'|tn3�<fti�e�q ,a5%5 **�l#%1 qtcVx�q�e{q®qti�i3��egp3qrnl�3nl|�x<|t�3kPmonlp$qrf®x<pDho|rn}qtkD|tpPn5h�e{p$qtn'�<n'|v�xzwgkPn'f'��z®i<kuj}i3kPwgh�xz|r�<kPn�qtcDxzq�qrcPegf§e�f§x�f�qtkP�Deghux<frf�kDm��Pqtegi<p �IxzpVh£« � i<kPw�h£x<�<|rnln � e{qtc��<i3k �IxzpDh � n�moe{�3c3q§|Gxzp$qqti3�<nlqtcPn'|¢qrcDx�qdqrcPn�j}i<mo�Pegwgnl|[f�cDi<kPw�h,��kDf�q[�<egv<n§xzp¯nl|r|ti3|¢mon'frfrxz�<n�e{pVf�qrn'x<h � /¥nlv3nl|tqtcPn'w{n5ftf'�3qtcPe�fdegf � cVx�q�~ hTi�n'f'�®¡�iD�� n�moiThTe{����qrcPn��P|ri<�<|Gxzm�qriUx<hPh¯qtcDn�j}i<|r|rn'j�q[hTn5j}w�xz|Gx�qtegi<p¯����e{pVj}wgkDhTegpP�oqtcPn�jli<|r|tn5j�qdcPn'x3hTnl| FVw{n �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B�� I � t*YPZ `PD[YPt �RI� _qp2XPN�U[T*M� qb?`PDGB K+B�� I � t*YPZyF8YRJ �PI

_qp*D b?`8_qp � _qpED `PZEx2X � XqB8`PZ�� `PZEx ��������t[NPYE`PD r � Q �

r � `PD*YGt��%`PZGx ���]�� ���Q � `PD*YGt��%`PZGx �� �� ���F*Z2_qp*D*t�� � �Et D[YyDGB8M��Et _GO �Et� �p����'r �'Q �'F8YRJ ��r �SQ � ���

/¥i � � � n¥|tn X jli<mo�Pegw{n3�$j'xz|rn}��kPwgwg� |rnlmonlm �Vn'|tegpP��qri�wge{pD��egpUqrcPn�mUx�qrc�wge{�P|Gxz|r�<��xzpVh � n��<n}q¢qtcPn���i<wgw{i � egpP���Dw{n5x<frxzp$q�&nlcDx�v�egi<| �� x2XEX F8YRJ CK�X��ENqb �GY�F8YRJ �yF8YRJ CK�� �CK � CK������������ D[Y DPB8M �CK������������ _GO� �����K������������TPU[T*NGMPQ XaFEF8I F[YRJ CK�� �CK�� CK������������ D[Y DPB8M �CK������������ _GO ] K��c] � ?] �

¡�iV�OqtcPn�mon'frfrxz�<n���|ti3m qtcDegfonl�Tx<mo�Pw{n)e�f�qrcDx�qUkDftegpP�+w{eg�P|Gxz|r����kDpDj�qre{i3pDfo|tn�5$kPe{|rn'f��%�� 7 egpDj}wgkDhTegpP��qtcPn j}i3|t|rn'j}qcPn5x<hTn'| FDwgn'f ��qtcPn ¨l� cDª FVw{n5f � xzpDh�w{egpP��egpP� � e{qtc�qtcPn�j}i3|t|rn'j}q wge{�D|rx<|tegn'f x�qUj}i<mo�Pegwgn�qtegmon<� EDi<|tqtkPpDxzqtn'w{�3�O��i<|�moi3f�q�&nl�<egpPpPn'|[�P|ri<�<|GxzmUf'�$qtcPn�i3pPw{��w{eg�P|Gxz|r�U�<i<k � egw{w n'v<n'|¤cVx�v<n�qti � i<|r|t��x<�Vi3kTq[egfdqrcPn�mUx�qrc)wgeg�P|rx<|t�3�EPi3|�i<kD|�pPn}��q�n}�Pxzmo�Pwgn<�-w{nlq'¬ f�ftnln�cDi � qri�hTn FDpPn�x<pDh+kDftn�i<kP| i � pu��kPpDj�qre{i3pDf'� I n}q5¬ f � |te{qtn¯x �P|ri<�<|Gxzm qtcDxzqj}i3mo�PkTqtn5f¤� x<j}qti<|re�xzw�f �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B�� I � t*YPZ `PD[Y8_ �RI

[Y>_aT _ p[T*MRp*D��Sp����_qpEDi_��t*YRZ ��_ ���� _: �p ��_������ F*Z?_qpED*t��� �����

_qp*D t*`[X�D[YPZ?_�`*N � _qpED � � I � T*M8XPNP`PZ[`PD?_�YRp �PI

_qp*D t*`[X�D[YPZ?_�`*N � _qpED p ��� I � T*MGt2_ pc_aD?_�Y�p �PI

�Q�

Page 18: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

_qpED Z[M[OaU>NRD �

_qp*T*MRp*D � p����F*Z2_qp*D*t�� �qt*`8X�D*YPZ?_�`*N YGt��ET"KEKEK �p�� � p����_�t�� � ���yp ���

Z[M[OaU>NRD� ]��� M*N[ORM �

Z[M[OaU>NRD �yp ��t*`[X�D[YPZ?_�`*N �Sp��>]�� ��_qp*T*MRp*D � p����F*Z2_qp*D*t�� �qt*`8X�D*YPZ?_�`*N YGt��ET _GO��ET� �p ��� p �SZ*M8OaU>NRD����Z[MRDGU*ZGp Z[M[OaU>NRD �

_qp*D b?`8_qp ��_qp*D `PZEx>X � XaB8`PZ�� `RZEx2O ��� ���t*`[X�D[YPZ?_�`*N �%`PD*Y>_ �%`PZPx2O ��]�� � ���

L¤n}��i3|tn � n�hTe�frj}kDfrfdqtcDn�j}iThTn<�Twgn}q5¬ f�f�n'n�e{q¥egp�x3j�qre{i3p ��~¢i<mo�Pegw{n§qrcPn FDwgn§x<pDh)|tkDp¯e{q�x<f¤��i3w{wgi � f �� t*`8X�D[YRZ?_�`*N��

t*`8XaD[YPZ?_�`EN YGt�� KEKGKt*`8X�D*YPZ?_�`*N YGt � KEKEK

t*`[X�D[YPZ?_�`*N YGt � KEKEKt*`8X�D[YRZ?_�`*N YGt \"KEKEK

t*`[X�D[YPZ?_�`*N YGt� KGKEKt*`8X�D[YRZ?_�`*N YPt ] KEKEK

t*`8XaD[YPZ?_�`EN YGt�� KEKGKt*`8XaD[YPZ?_�`EN YGt�� _GO ]t*`8X�D[YRZ?_�`*N YPt ]y_GO ]t*`[X�D[YPZ?_�`*N YGt� _PO t*`8X�D[YRZ?_�`*N YGt \ _GO �t*`[X�D[YPZ?_�`*N YGt � _GO ��t*`8X�D*YPZ?_�`*N YGt � _GO ]� ��tE`8X�D[YPZ2_�`*N YGt�� _GO �� ��

¡�iV� � n�n}�T�&n'j�q§qri)ftnlnof�i3mon}qtcDe{pP�¯qtcVx�q�e{pVhTnlp$qrf��Dx3f�n5h£i3p�qrcPn p�kPm �Vn'|§qtcDxzq � nUxz|rn jli<mo�PkTqre{pP�¯qtcDn � x3j�qri<|regx<wiz���VxzpDh � n§nl���&n'j}q[qti�ftnln�qtcDn�j}i<mo�PkPqrx�qre{i3p¯i<�KqrcPn§� x<j}qti3|te�xzw:��I�n}q5¬ f[wgi�i<��xzqdqtcPn�jli�hPn<�bdcPn FV|rf�q�qtcDe{pP� � n¯f�n'n�e�f�qtcDn¯hTn FDpPe{qtegi<p�i<�¤qrcPn _qp[T*MRpED ��kPpDj}qtegi<p �£« q ��kDf�q kDftn'f x t*YRZ wgi$i3�+qti£�D|tegp$q�fti<mon

p�kPm��&nl|di<�Kf��Vx<j}n5fl�ThTn'�Vn'pDhTegpP�oi<p)x�p�kPmonl|re�j�x<|t�3kPmonlp$q'� /¥i<qtcPegpP� qti�iUjGcDxzwgw{n'pP�<egpP����i<|dx �$x�v�x��P|ri<�3|rx<m�mon'|'�$nlv3nlpe{�KqrcPn�f���p$qrxz��e�f[x wge{q�qtwgn�pPn � � /¥i<qtn�qtcDxzq[qtcPn§��kDpDj�qre{i3p)|rn}qrkP|rpDfdpPiUv�xzwgkPn<�Pftioe�q5¬ f�hTn'jlwgx<|tn5h�qri�|rn}qrkP|rp [Y>_�T �

/¥nl��q'� � n¥ftnln¥x 1R#03=" , / ,� $0� &)iz�6qtcPn t*`8X�D[YRZ?_�`*N ��kPpDj�qre{i3p � #>hTn5j}w�xz|Gx�qtegi<p ��kDf�q��<egv<n5f-qtcPn�pDxzmon<�3|tnlqtkP|rp�q����Vn¥x<pDhxz|r�<kDm�n'p$q¥q����Vn5f¥��i3|�xo��kDpDj�qre{i3p ��bdcDegf�pPi<qte FDn'f�qtcPn�j}i3m��De{wgnl|�xz�&i<kTq�qtcPn���kPpDj}qtegi<p�ftiUqrcDx�q�jlx<w{w�f[qri�qtcVx�q���kPpDj�qre{i3pjlx<p �&n[�P|ri<�&nl|rw{��jli<mo�Pegw{n5hI� ��bdcPn5f�n[xz|rn¤qtcPnd��egpDhPfOi<�DqtcDe{pP�$f-qtcDxzq®cPn'x3hTnl|�FDwgn'f'�<wgeg�<n b?`RDGBLK+B xzpDh O�DET2_�YCK+B x<|tn FDwgw{n5h� e{qtc �$EKegpDx<w{wg�<� � nUftnlnoqrcPn 1R#��9& $. $0�2&�i<�¢qrcPn t*`[X�D[YPZ?_�`*N ��kPpDj}qtegi<p �0j}i3mo�Pw{nlqtn � e{qtcynl�Tjln'frf�egv<n��P|re{p$q�f�qrxzqtnlmon'p3qGfl�bdcPn�|rn'ftkPw{qdi<�0jli<mo�Pegw{egpP�UxohTnGFVpPe�qre{i3p�egf � cDxzq¥w{egv<n5fde{p x�wge{�P|Gxz|r�oqtcVx�q � n�wgegpP��qriUkDf�egpP��qtcDn �>N i3�Tqtegi<p¯qti x2XEX �« p�qrcPn'ftn®��n � �P|re{nl�Pn}�Pxzmo�Pwgn'f'� � n3¬ v3n¢ftnlnlp�qtcPn¢�Dx<ftegj�mon'jGcDx<pPegj'f i<� � |te{qtegpP�V��jli<mo�Pegw{egpP��xzpDh�|rkPpPpDe{pP��~��P|ri<�<|GxzmUf'�xzpVh � n<¬ v<n§f�n'nlp�f�i3mon§frxzmo�Pwgn'fdi<� � cDxzq�~>jli�hPn�wgi�i<�Tf¤w{eg�<n3� !�n3¬ |rn�pPi � |rn'x3hT�oqti�ftkP|rv<nl��qrcPn ~�w�xzpP�3kDxz�3n<�(z®i<k�¬ |rnnlpVj}i<kD|rx<�<n'h�qti � |re�qrn w{e{q�qrw{n��P|ti3�<|GxzmUf�qti+qtn5f�qU��n5x�qrkP|tn5f�x<f�qrcPnl� xz|rn��P|tn5f�n'p$qtn'h �¤x3f � n'w{w¥x3foqt|r��e{pD��qrcPn£frxzmo�Pwgn�P|ri<�3|rx<mof®�P|tn5f�n'p$qtn'h�cPnl|rn<� ! cPn'p�e{qdjli<mon'f�qti�w{n5xz|rpPegpP��x wgx<pP�<kDx<�<n3�zqtcDnl|rn<¬ f�pPioftkP�Df�qte{qtkTqrn���i3|¤x3j�qtkVxzw&n}�T�Vn'|tegnlpVj}n<�

���4-F&)I/&�NQ>MH6 #H +#$��!D $�0#D < +20 +# .$�N�+.> 8KD/&�N�&Q0.0=H6 8K5 �! +#-F$�0 &��FH6(*O/>�&�/1/3F+4$ +�2H60� �! +#- $�D +. #� I/3/N�$�D/"A+.-/&)0.8�D'+=H��:P

� �

Page 19: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �

� � � � � � � ��� � � �

d ��� e � k ��� ���EPi3|�qrkPpDxzqtnlwg�<� �$x�v�x��&i<|r|ti � f�moi3f�q�i<��e�qGf�f���p$qrxz����|ti3m ~�� f�i¯w{n5xz|rpPe{pD��~ ft��p$qrx�� � egw{wO�&n�n'x<ft�<�;#�w{w0qrcPnUf���p$qrxz� iz�t*YPZ � JEBc_RNGM x<pDh TEY egf0kPpVjGcDxzpP�3n'hI���O�T�P|rn'frf�egi<p f���p$qrxz��egf0kDpDjGcDxzpD�<n'h �K�$x�v�x�nlv3nlp�x<hTi3�Tqtn5h�qrcPn[mUxzwge{�3pPn'h�qtn'|tpDx<|t�i<�&nl|Gx�qri<|5��

bdc�kDf'�Kx��3x�v�x)�P|ri<�3|rx<m j}i<pVf�e�f�qGf�iz�[x)�PkPpDjGcyi<�djlwgx3ftftn'f'� n5x<jGc+j}i<mo�P|re�f�egpP��e{pVf�qGxzpDjlnUv�x<|te�xz�Dw{n5f�xzpDhumon}qrcPiThPfl�# ~ �P|ri<�3|rx<m�j}i3pDf�e�f�qrf[i<�Ox��PkPpDjGc i<�-��kDpDj�qre{i3p£hTnGFDpDe�qre{i3pDfl�6xzwgi<pD� � e�qrc�qtcPn�iTj'jlx<ftegi<pDx<w f�qr|tkDj}qtkP|rn�hTn FDpPe{qtegi<p£x<pDh�<wgi<�Vxzw6v�xz|regx<�Pw{n3� !�n3¬ wgw wgi$i3��x�q[qrcPn�ft�$p$qGx���iz�Ox FDwgn�wgxzqtnl|8�9f�n'n�f�n5j�qtegi<p �D� &�i<p��Dx<�<n � � �}�

bdcPn�f���p$qrxz�)i<�®m�kDjGc£i<�OqtcPn�n}�Tn5j}kTqGxz�Pwgn��Dx<|�q�iz�OqtcDn w�xzpP�3kDxz�3n<�V�Dxz|tqte�j}kPw�xz|rwg�)jli<p$qt|ri<w-f�qr|tkDj}qtkP|rn'f'�&egf�qtcPnofrxzmonegp£~��6~ ��� x<pDh��3x�v�x �

� x<frf�eg�<pPmon'p3q[f�qrx�qrnlmonlp$qGf� xz|re�qrcPmon}qte�j�n}�T�P|rn'frf�egi<pVf� i<�&nl|Gx�qti3|¢�D|tn5j}n'hPnlpDjln� _at f�qrxzqtn'm�n'p$qrf� OqJc_aD2XaB f�qrxzqtn'm�n'p$qrf� JGBc_RNGM w{i�i<�Vf� tEYPZ wgi�i<�Df� �EZ[ME`�� xzpDh XRYRpED?_qpEU8M f�qrxzqtnlmon'p3qGf

¦¥pP��i<|tqtkPpDxzqtn'w{�3�3qrcPnl|rn<¬ f�f�qtegwgw&x�w{i<q¢moi<|rn[qti�j}i�v3nl|5�<nlv3nlpU�&n}��i3|tn � n¥�3n}q¢qti jli<mo�Pwgn}��qtcPegpP�$f�wge{�3n�f�qt|rkDj�qGf¢x<pDhUj}w�x<frftn'f'�

d ��� e � � � ��� �

~¢i<momonlp$qGfde{p�~ xz|rn�wge{�3n§qtcPe�f �I � DGBc_GO _GO` NGYRp*xF8`PZ*`PxEZ[`RFGB YGtXRYabGb?MRp*D2O�PIbdcPn'� �Vn'�<egp � e�qrc I � xzpDh�nlpDh � e�qrc �PI ��bdcDnl� hTi<p�¬ q§pPn'f�q'��bdcPn'|tn egf�pPis¨�n'pDh£i<�®w{egpPn'ª)j}i3mom�n'p$q'�6w{eg�<n�qtcPn IEI iz��$x�v�x xzpDh�~ ��� �Txzw{qtcPi3kP�<c�qtcPn,-�~[~�jli<mo�Pegw{n'| � egwgw&i<�©qtn'p�wgn}q[�<i3k�kDftn�qrcPn IEI jli<momonlp$q'�Tfti���nln'w6��|tn'n�qri�qr|t�oe{q'�®�3kDf�q|rnlmonlm �Vn'|dqtcDxzq¥e�q5¬ f[pDizq¥f�qr|te�j�qrw{�¯w{n'�3x<w9�� ; 5 8'�!3 I/�!D < +�� D/� -/H +)+#-/$�0)$�0 �B8'�!3/ )O/ #�65 &�0#0.�! #0 -�H�%'&A-/$�I/IF&QD +.-/$�0 -/�! . #�! ,5 #�!(�8'�!3 P� �&�&�0.&�N�+.$��!D��FP ���� $ 5 8'�!3 .& H6>�> 8 2H6D +,+#�� D/� LP

� �

Page 20: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

d �%d e � ��� � � ��� �

« p��$x�v�xD�z�<i3kUjlxzpUhTn5j}w�xz|rn¥x�j}i3pDf�qGxzp$q®����hPn'j}w�xz|regpP��x§v�x<|te�xz�Dw{n¥x<pDh�mox<|t��egpP��e{q�¨ FDpVxzw:� ª�x3fOe�� e{q � nl|rn[xzpUegm�m kTqrx<�Pwgnv�xz|regx<�Pwgn<� EPi3|[n}�Pxzmo�Pwgn �XPNG`[OEO��[`PDGB �

FEU �>N8_GX t2_ p8`*N�t[NGYE`RD �?o�� \CK] � ]����KEKGK�

« p�~��IqtcDxzq'¬ f�pPi<q��Vi$ftfte{�Dw{n3�lz®i<k+jlxzp+n'e�qrcPnl|�hTn5j}w�xz|rnoe�q�qri �VnUwge{�3nUxzpui<|GhTe{pVxz|r� v�x<|te�xz�Dw{noi<|��3i<k+jlx<p�kDftnoqtcDn)4/�#�- ) /���3%#�5%5��2/���bdcDn��P|rnGX �P|ri�jln'frf�i3|degf�j}i�v3nl|rn'h)e{p�m�i3|tn hTn}qGxzegwKegp�ftn'j�qre{i3p �P� � � �DkTq���i3|�pPi � ftk*m�j}n e�q�qti¯frx��¯qtcDxzqqtcDn �P|rnl�D|tiTj}n5ftfti<|[e�f§xUpPi<q��Dx<|�qregjlkPw�xz|rw{��f�mUx<|�q��D|ti3�<|Gxzm�qrcDx�q�frjlxzpVf¥i�v<n'|¥qrcPn�egpP�PkTq FDwgn�wgi�i<��egpP�U��i<|)¨thPe{|rn'j}qtegv<n'frªmUxz|r�<n5h����ux �Vi3kPpDhyfte{�3p �)« q�qtcPn'p�mUxz�3n'f§qrn}��qtkDx<w¢ftkP�Df�qte{qtkTqre{i3pDf�kVf�egpP��qtcDn�hTeg|tn5j�qtegv<n5fl� ¡�iV�Kegp ~�� qrcPn � x�� � nhTn FDpPn��Pe�x3f[xoj}i<pVf�qGxzp$q[egf �� T*MPt2_qp8M��?o \CK�] � ]��KEKEK

t[NGYG`PD X*_aZ2XaU�b� �?o ��T2_�`ab2MPD[MPZ �z®i<k j'xzp)kDf�n �?o xzp�� � cPnl|rn§�<i<k�j}i3kPw�h¯kVf�n§qrcPn�p�kPm��&nl|6�D� � � � %P���PkTq�pDizq�xzp�� � cPn'|tn§�<i3k)jli<kPw�h)kDftn�xov�x<|te�xz�Dw{n3�

z®i<kuxzw�f�i)cDx�v3n�qti)�&noj'xz|rn}��kPw0pPi<q�qri¯kVf�n qtcPnowgn}qtqtnl|Gf§­®«¥egpuizqtcDnl|�j}i3p3qrn}��qrf'�6�Vn5jlx<kDf�n qtcDn��D|tn X:�P|riTj}n5ftfti<|�egf§hTkPm �nlpDi<kP�3c�qri�|rnl�Dwgx3j}n�xzwgwIiTjlj}kD|tn'pDj}n5fdiz��qrcPn�jGcDx<|rx3j�qtn'|rf �?o�� e{qtc�qtcDn�jGcDxz|Gx<j}qtnl|Gf \�K] � ]�� �EPi3|dqtcPe�fd|rn'x<fti<p��P~>�P|ri<�3|rx<mof¤xzw � x���f¤kDftn�xzwgw�jlx<�Df¤��i<|¥jli<pDf�qrx<p$qrfdxzpDh)pPi<qtcPegpP�onlw�ftn��<n}qGf[xzwgw jlx<�Dfl�

d �Sv � ����� ��� � � � k ��� ���� e�f�qti<|re�jlxzwgwg�<�5��kPpDj}qtegi<pDf0xz|rnOqrcPn¤x<p$qtn'jln'hTn'p$qrfKiz�Dmon}qrcPiThPf'�zf�i�qtcPn'�§ftcDx<|tn¤x¥wgizqK�&izqrc ft��p3qGx<j}qte�jlxzwgwg�§x<pDh�ftnlmUxzp$qregj'xzwgw{�3�~ ��kPpDj�qre{i3p f���p$qrxz��egf¥x3j�qrkDxzwgw{�¯x �De�q�fte{mo�Pwgnl|¥qtcDx<p�qrcDx�q¥i<�0�$x�v�x�mon}qrcPiThPf'�

������� � ���������������������������~>�P|tn5hPx�qrn'f¤qrcPn � eghPn'ft�P|tn5x<h¯x<hTi3�Tqtegi<p�iz�-i<����n5j�q X:i3|tegnlp$qtn5h��P|ri<�3|rx<mom�egpP� � � � ­ ���Pbdc�kDf'�Pe�q�hPi$n5fdpPizq¥cVx�v<n§j}w�x<frf�n5fxzpVh�mon}qrcPiThPf'� � �-j}i3kP|Gf�n3�P�3x�v�x egf[x qtcDi<|ri<kP�3cPw{�Ui3����n'j}q X i<|re{n'p$qtn'h�wgx<pP�<kDx<�<n3��ftioe�q��2&-" �UcVx<f[j}w�x<frftn'fdxzpDh¯mon}qrcPiThPfl�~�� i3p�qrcPnUizqrcPnl|�cDx<pDhI�L� &-" � cDx<f���kPpVj�qtegi<pVfl� ! cPn'py�3x�v�x � x<p3qGf�x)�Pwgx<e{pu��kPpVj�qtegi<p��KftkDjGcux3f�qtcPn�ftegp ��� �§��kPpDj�qre{i3pqtcVx�q¥�<i3k¯wgn'x<|tpDn'h¯e{p¯qt|re{�3i<pPi3mon}qt|r�<�T�$x�v�x mUx<�<n'f¤e{q¥�Vn'w{i3pP��qti�xoj}w�x<frf'�T|tn�53kDe{|re{pD� �3i<k¯qti � |te{qtn

Q � �[`PDPBLK%O*_qp ��DGB8MPD*` ���« p£~��P�<i3k)fte{mo�Pwg� � |re�qrn �Q � O*_qp ��DGB8MPD*` ���

¡�iV�Pjlxzwgwge{pP�Ux ��kPpDj}qtegi<p egp ~>e�f[|tn5xzwgw{�65$kPe{qtn�ftegm��Dw{n�e{�-�3i<k)��pPi � cPi � qti�hTioe{q¥e{p �$x�v�xD� �

�������"! # $&%'�(����)���(�������*�+���~���kPpDj}qtegi<pDf®hPi<p ¬ q��&nlwgi<pP�§qri�xzp�� jlwgx3ftf'�3fti§�<i<k ��kDf�q¢hTn FDpPn[qrcPnlm�x�q�¨�qti3��wgnlv3nlw�ª§e{po�3i<kP| FVw{n[i<�IjliThTn<� �}¨rb�i3��wgnlv3nlw�ªmon'x<pDf¥qrcDx�q§e{q§e�f�pPizq�f�kD|t|ri<kPpVhTn'h ��� xzp���izqrcPnl|�ft��p3qGx��I�VqtcPi3kP�<c�e�q§mUx��)�&n��P|tn5j}n5hTn'h�i<|���i<wgw{i � n'h���� izqrcPnl|�qti3�wgnlv<n'wIe�qrnlmUf'� �obKiUhTnGFDpDn§qtcPn ¨tc$���&izqrnlp�kDftn'ª���kPpDj�qre{i3p �P�3i<k)pPnln5h�i3pPw{� � |te{qtn �t[NGYG`PDyB*QGF8YPD*MRpEU?ORM � t[NGYG`PD `���t[NGYE`PD�� ���

Z[MPDGUEZGp O-,GZED��%` �R`�� � �������

� ; + < 0�D/�6+�. 3/$ +.&4H60�0.$�(*O/>�& H60 ;=< %'&2$�(*O/>�$�&�I � 1B&QNQH63/0.&4+.�)NQH6>�>F+.-/&0/2143)5 3/DFN�+.$��!D �'8'�!3A-�H�%'& +#�)-�H�%'& $�DFNQ>�3FI/&�I�+#-F&4(@H +.-�>�$�1F =H6 .8 -/&QH6I/&� .0 �4-/$�N=- &!< >�> I/$�0.NQ3F0#02>MH +#&� QP

� �

Page 21: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

bdcPn§��kPpVj�qtegi<p�e�f &2��¤�Vxz|tqdi<�-xoj}w�x<frf[hTn FDpPe{qtegi<p �¢~¢i3p3qr|rx3f�qdqrcDx�q � e{qtc xo�3x�v�x e{mo�Pwgnlmon'p3qGx�qre{i3p �FEU �8N8_GXyXPNG`[OEO �EQGF8YPD*MRpEU?ORM��

FEU �>N[_GX t[NGYE`RD�B*QGF8YPD*MRpEU?ORM � t[NGYG`PD `�� t*NGYE`PD�� � �Z[MPDGU*ZPp �[`PDGBLK�O-,GZED ��` �R`���� ������

��

#�f � n�frx � n5xz|rw{egnl|5��qti 3 ,2"'"Ox���kPpDj�qre{i3p �D�3i<k�pPn'n'h�i<pDw{�¯�<egv<n�e{qrf[pDx<mon<� � e{qtcDi<kTq � i<|r|r�$egpP�oxz�&i<kTq�j}w�x<frf�n5fl��bdcDnxz�&i�v<n�~ ��kPpDj�qre{i3p jlxzp)�&n�jlxzwgwgn'h¯w{eg�<n§qrcPegf �t[NGYE`RD X��PB*QGF[YPD[MRpEU2ORM��%\�� � � �

bdcPn��$x�v�x�mon}qrcPiThI�Pi3p�qrcPn�izqrcPnl|[cDx<pDhI� � i<kDwgh¯�Vn �t[NGYE`RD X�� �EQGF[YPD[MRpEU2ORMCK+B*QPF8YRD[M�pEU?O�M���\�� �����¡�n5j}i<pVhTw{�3�Px<fd�3i<k)pPizqregjln'hI�P�3i<k�hTi<p�¬ q¥pPn'n'h¯qti � i<|r|r��xz�&i<kTq[�<n'� � i3|rhPf¤wge{�3n�¨��PkP�Dw{e�jlªoi3|U¨tf�qrx�qregj<� ª L¤�¯hTnl� xzkPw{q'�

xzwgw �3i<kP|d��kPpVj�qtegi<pVf¥xz|rn )4* �=" $ 3l�VxzpVh)fti�xz|rn§kDfrxz�Pwgn�x�q�x<p$���Vi3e{p$q�x��©qrnl|�� e{p�qrcPn FDwgn��¤qrcPnl��xz|rn�hTnGFVpPn'hI�¢« �-�3i<k � xzp$qqti�kDftn�qtcPn'm egp+x)hTe M&n'|tn'p$q FVw{n3� � n<¬ w{wOcDx�v3n�qri)mUx<�<nokDftn i<��qtcDnUn}��qt|Gx�mUx3jGcPe{pDnl|r�£hTn'frj}|re{�&n'h�egpuftn'j}qtegi<p %P� �UP i3p¡�n'�Dxz|Gx�qrn�~¢i3mo�Pe{w�x�qre{i3p � �Dxz�3n % � �}��������"� � � � ����� ��� �*���(�$ �« p£~��Dxzwgw6v�x<|te�xz�Dw{n5f¢m kDf�q¥�Vn�hTn5j}w�xz|rn'h�xzqdqtcPn��&nl�3e{pPpDe{pP�oi<��qtcDn§��kPpDj�qre{i3p �T|rnl�3x<|rhPw{n5ftf¢iz� � cPnlp)qtcDnl�6¬ |rn�kDf�n5hI�®bdcDxzqe�fl�Dx<w{w6qrcPn6��pDi<pDX n}�Tn'jlkTqrx<�Pwgn��¢v�xz|regx<�Pw{n�hTn FDpPe{qtegi<pDfdcVx�v<n�qtio�P|rn'jln'hTn�qtcDn FD|rf�q¥n}�Tn5j}kTqGxz�Pwgn§w{egpPn�iz�0j}iThTn3�

« p�~ ���sxzpDhU�$x�v�xP�zi3poqtcPn�izqtcDnl|®cDx<pDhI�3�<i<kUhTi3p ¬ q�cDx�v<ndqri�hTn'jlwgx<|tn¥x§v�x<|te�xz�Pwgn[kPp$qtegwD�3i<kopPn'n'hoe{q'� � cPegjGcUe�fOm kDjGcmoi<|rn�j}i<p�v3nlpPegnlp$q'�0« p��3x�v�xoxzpVh�~������ � n�xzw�fti�cVx�v<n�w{iTj}kPqtegi<pDfdwge{�3n§qtcPe�f �t*YPZ�� _qp*D _ ����� _: � � _ ��� � �

KEKEK�« p�~���qtcPn�v�x<|te�xz�Pwgn _ m�kVf�q¥�&n�hTn'jlwgx<|tn5h¯xzqdqtcPn§qri<��iz�KqtcPn§��kPpVj�qtegi<p��DpPi<qdegp)qtcPn t*YPZ wgi$i3� �L¤n'j'xzkDftnUqtcDnVFV|rf�q���n � wge{pPn5f�iz��x£��kPpDj�qre{i3p x<|tn¯v�xz|regx<�Pw{n¯hTn'jlwgx<|rxzqtegi<pDf'�O�P|rn'j}n5hTegpP�£qrcPn¯nl�Tn'j}kPqrxz�Dw{n�j}iThTn3�®e�q5¬ fj}i3mom�i3p �Ixzw{qtcPi3kP�<c�pPizq�|tn�5$kPe{|rn'h �Vqri¯�DkTq�x��Pw�xzpP� wgegpPn �&n}q � nln'p£qrcPn v�x<|te�xz�Pwgn hPn'j}w�xz|Gx�qre{i3pDf�x<pDh qrcPn FD|rf�q§w{egpPn�iz�|rn'xzw jliThTn<� EPi3|[n}�Pxzmo�Pwgn �_qp*D t*YGY�� _qp*D `�� _qpED � ���

_qp*D _��t[NGYE`RDyr ��Q �

t*YPZ ��_ ����� _: G` �� � _ ��� ���r���8`PZ��%`��_ � �Q���8` ��� _�� ��� �

��

/¥i<qte�j}n§qrcDx�q¥qrcPe�f�f�q��$wgn�mUxz�3n'f[e{q�n'x3f���qtiU��i3|t�3n}qdqti�egpPe{qte�xzwge��'n�xov�xz|regx<�Pwgn<��« p)qrcPegf�jlx3f�n3�TqtcPn�v�x<|te�xz�Dw{n5f r � Q x<pDh_ hTeghPp ¬ q�pPnln5h)qti��&n�egpPe{qte�xzwge��'n'hI� � i � nlv3nl|5�TqtcDegf�egf�xU�Dx<h�cVxz�Pe{q'�V�Vn5jlxzkVf�n�qrcPn�i3pPn�qtegmon�qtcVx�q�qrcPnl��hTi�pDnln'h)qri��&negpPe�qregx<w{e �ln5h�xzpDh¯�<i3k���i3|t�3n}q'�T�3i<k�j}i3kPwgh)ft�Vn'pDh)cPi<kP|Gf¤qt|Gx<jG��egpP�ohTi � p)x��PkD�D�O« q'¬ f¥x<w � x��Tf¢frx���n'|dqti�j}iThTn§wge{�3n�qtcPe�f �_qp*D t*YGY�� _qp*D `�� _qpED � ���

_qp*D _ ����t[NGYE`RDyr����'Q����

t*YPZ ��_ ����� _: G` �� � _ ��� ���r���8`PZ��%`��_ � �Q���8` ��� _�� ��� �

��

� �

Page 22: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

~+�3e{v3n'fK�<i3k ft�Vn'n'h i�v<nl|0frx���n}q�������hTnl� xzkPw{q'�3�PkTq0qtcVx�q®hTi�n'ftp ¬ q0�D|tn'v<nlp$q-�<i<k���|ti3m�x<hDhTe{pD���3i<kP|-i � p frx���nlq���m�n5x<ftkP|rn'f'�z®i<kyj'xzp � xzpVhyf�cPi3kPw�h-�§x<frf�eg�<p+x)v�xzwgkPnoqti£x�v�xz|re�xz�Pwgn � cPnlp+�<i3kuhPnGFDpPn�e�q5�K�PkPq�x<f � no�<n}q�qri moi<|rn�j}i<mo�Pwgn}�v�xz|regx<�Pwgn'f'� � n<¬ w{w�f�n'n£jlx<ftn'f � cPnl|rn e�q5¬ f¯hTe mUjlkPw{q�qtiyegpPe{qte�xzwge��'n qtcPn�v�x<|te�xz�Dw{n � e{qtc e{qrf�jli<|r|tn5j�qUv�xzwgkPn<� ! cPn'p�qtcDxzq

cDx<�P�Vn'pDf'�D�3x�v�x � i3kPw�h�egpPe{qte�xzwge��'n§qtcPn�v�xz|re�xz�Pwgn�qri �ln'|ti�i<|[p�kPwgw@{D�<i<k�ftcPi<kPw�h)hTi�qtcDxzq¥n}�T�Pwgegjle�qrw{�¯e{p�~�i3|�~ �����

d ��� g �9� ��� � ���­®|regp3qre{pD� e�f[hTi<pDn � egw�hTw{�¯hTeYM6nl|rnlp$qrw{��egp£~ qtcVxzp)e{p��3x�v�x ��i3|[e{p£~ ��� ���®­0n'|rfti<pVxzwgw{�3�3«¢w{eg�<n�qtcDn � x��¯~ hPi$n5f¤�P|tegp$qtegpP�D�«dqtcDe{pP� �D|tegp$qtegpP��cDx3f�pDizq���i3kPpDh�x�pDxzqtkP|Gxzw:�Vegp$qtkPe{qtegv<n n}�T�P|rn'frf�egi<p egp�i3����n'j}q X i<|re{n'p$qtn'h¯qrcPe{pD�$egpP�V�6qtcPi3kP�<c£mUx����&n�e{q� egw{w�fti<mon5hPx��<� W n'x<p � cPe{wgn<�De�q5¬ fd�3i$iTh�qtiUwgn'x<|tp�hTe M&n'|tn'p3q � x��Tf¢i<�KqrcPegpP��e{pP��x<�Vi3kTq[cPi � qri�x<j'j}i<mo�Pwge�f�c)f�i3m�nlqtcPegpP�V�

« p ~���x<f�e{p�moi3f�q�wgx<pP�<kVxz�<n5fl�¢e�q5¬ f�n'x3f��yqriy�P|re{p$q�xyfte{mo�Pwgn<� FP�Tn'h�f�qt|re{pD�D� � nl|rn � n � egw{w�kDf�n�qrcPn�f�qrx<pDhPxz|Gh~ ��kPpDj}qtegi<pujlxzwgwgn'h F*Z?_ p*D*t {D�3i<k ¬ w{wK|tn'monlm��&nl|�qtcPe�f�n}�Pxzmo�Pwgn���|ri<m i<kD|�¨�cDnlwgw{i � i<|rw�hPªU�P|ri<�3|rx<m�egp qtcPn �Vn'�<egpPpPegpP�D���#�p��3qre{mon¥�3i<k�kDftn FEZ?_qp*D*t � � cPe�jGc � e{wgwP�&n¥�P|rn}qtq���m�kDjGcon'v<nl|r���P|ri<�3|rx<m���|tn'm�n'm��&nl|0qri�e{pDjlw{kVhTndqtcPn¥jli<|r|tn5j�qOcPn5x<hTn'|FDwgn<� � cDegjGc)egf ?O�D*T2_�YCK+B�� �-¡�nln�ftn'j}qtegi<p �P� N � �

F*Z?_qpED*t�����*M*NENGY�J8YPZ8NRT��� �p�� ���#�f¢egp��3x�v�xP� � n�jlxzp�kDf�n �p qti hTnlpPi<qtn�x�pPn � wgegpPn�jGcDx<|rx3j�qtn'|'�-¦¥pPwgeg�<n��$x�v�xP� � cPegjGcUcVx<fOq � i�hTe M6nl|rnlp$q��P|re{p$q¤m�nlqtcPiThPfhTn'�Vn'pDhTegpP� i3p � cPnlqtcPn'|¢�3i<k � xzp$q¤x�pPn � wgegpPn�xzq�qrcPn�n'pDh;� WPQ>O�D[Mab6K YRU*D K+FEZ?_qp*D x<pDh WPQ2O�D*Mab6KSYRUED K+F*Z?_ p*D8N�p �}�'egp�~��� n�i3pPwg��kDftn FEZ?_qp*D*t �$nlpVhTe{pD�oqtcPn�f�qt|re{pD� � e{qtc �p e{� � n � x<p$q[x�pPn � w{egpPn�jGcDx<|rx3j�qrnl|5�

����� � � � ��+������ � ��� ����'�*$ �� �Kjli<kP|Gf�n3� � n�x<wgfti � xzp$q¢qti��P|tegp$q¤v�x<|te�xz�Pwgn�v�x<w{kPn5fl�0« p ~�� � n¥qrcPegpP��iz� �D|tegp$qtegpP��x3f¢x�¨ FVw{w&e{p�qtcPn§�Pw�xzpD��ª�qtn'm��Dwgxzqtn<�z®i<kVFD|Gf�q[f�qrx�qrn�qtcPn�qtn'mo�Pwgxzqtn3� � cPegjGc)e�f¤x<w{w6qrcPn§�Pw�xzegp�qtnl��q¥�<i<k � x<p3q[�P|regp3qrn'hI�Tx<pDh�qrcPnlp)�<i3k�¨ FDw{wIegpDª �Dxz|tqrf¤i<��qtcDnqtn'mo�Pwgxzqtn§��|ri<m qrcPn�v�xzwgkPn'fdi<�-v�x<|te�xz�Pwgn'f'� � n'|tn3¬ fdcPi � qtio�P|re{p$q[q � i egp$qtn'�<nl|Gf'��qtcPn�v�xzwgkPn5fdiz�0v�x<|te�xz�Dw{n5f r xzpDh Q �

F*Z?_qpED*t��� n D DGBc_PO F[Y>_qp*D � r�� �GT `�p[T Q����ET� �p�� � r ��Q����bdcPn��Vn'|rjlnlp$q�f�eg�<p���i<wgw{i � n'h ����x¯wgn}q�qrnl|§mUxz|r�Tf�x¯�Pw�x<j}n qtiVFDwgwOe{p�qtcDn qrnlmo�Pw�x�qrn<� � i � n'v<nl|5����kDf�q�qri¯�&n�qt|regjG���3�

� n�cDx�v<n§qri¯jGcPi�i$f�n§qrcPn jli<|r|tn5j�q¥wgn}q�qrnl|��Dx<ftn'h�i3p qtcPn hPx�qGx�q����Vn iz�0qtcDn�v�xz|regx<�Pwgn � n � xzp$q¥qri��P|regp3q5��~ egf��Vn'|���n5j�qrw{�cDx<�P����qri��P|re{p$qdx <Di3xzqtegpP���&i<egp$q¢p�kPm��&nl|dx<f�e�� e{q � n'|tn¥x<p�e{p$qrnl�<n'|�i3|�v�egjln¥v<n'|rfrxP�3e��K�<i<kUkVf�n[qrcPn � |ri<pD��w{nlq�qrnl|5�0bdcDn|rn'ftkPw�qde�f�kDftkDx<w{wg�U�<eg�P�&nl|regftc �Tf�i e��K�<i<kD|¢p�kPm �Vn'|rf¤f�n'nlm�qri �&n��D|tegp$qtegpP��f�qt|GxzpD�<nlwg�<��hTi3kP�PwgnGX jGcPn'jG� qtcPn���i<|rmUx�q[f�qr|tegpP�V�� n'|tn�x<|tn�qtcDn��Dx<ftegj§ftn}q[iz�0wgn}q�qrnl|Gf �

e:� h e{p$qrnl�<n'|j jGcDxz|Gx<j}qtn'|f f�qr|tegpP����# � #a�Vi3e{p$qrnl|dqti�jGcVxz|Gx<j�qrnl| �� <Di3xzq

#�f � n � e{wgwKwgn'x<|tp�egp qtcDn ftn'j�qre{i3p i<p wge{�D|rx<|t����kPpDj�qre{i3pDf'�DqrcPnl|rn�xz|rn�i<pDw{egpPn�mUx<p$kVxzw �Dx<�<n5f[qtcVx�q�jli<p$qrx<e{p£xUwgizq�iz�egpT��i<|rmUx�qtegi<p��4z®i<k+jlx<p FDpDh�i<kPq�x<�Vi3kTq§qtcPnoc�kP�3n p�kPm �Vn'|�i<�¢i<qtcPn'|�i3�Tqtegi<pVfl�IegpDj}wgkDhTegpP�)��i<|rmUx�qtqtn'h�« � � �9f�kVjGcux3fft�Vn5j}e{���$egpP�¯qtcPn�p�kPm��&nl|�iz�¤hTn'jle{mUxzw-�Pw�x<jln'f'�&wgn'x3hTegpP� �'nl|ri3f�x<pDh�fti���i3|�qrc ���$��wgi�i<��e{pD�¯x�q�qtcPn�i<pDw{egpPn�mox<p�kDxzw-�Dxz�3n��i<| F*Z?_qp*DEt �

����� �"! ��� ����(�*$ �bdcPn§��i3w{wgi � e{pD� �P|ri<�3|rx<m�f�cDi � f¤fti<mon§pPi3|tmUxzwIkVftx<�<n'f¤i<�KqrcPn F*Z2_qp*D*t ��kPpDj�qre{i3p �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� qb?`PDGB K+B�� I � t*YPZyF8YRJ `Rp*T ����?o �PI

_qp*D b?`8_qp � � �_qpED p �F*Z2_qp*D*t�� � n O�DEZ2_qp*x �>O J8`*N �>O _ p*D[Y `��[`PZ KEKEKGK �p������B8M*NGNGY �����F*Z2_qp*D*t�� � ^GB8`PD��>X _GO ` Z[ME`EN XqB8`PZ[`8XaD[MPZ K �p���� ��, � � �

� %

Page 23: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

p� � _ p*D ��F8YRJ �� �� � � �F*Z2_qp*D*t�� � � [MPZGQ F*Z[YRxEZ[`abEb2MPZ��Gp[YRJ?O DGB8`PD D[Y�DGB8M �ET _GO��ET� �p�� � ��� p ���F*Z2_qp*D*t�� � �[`Rp*Q x[MEM��>O b?Mab?YPZ2_ �*M��?o D[Y \ � ��KS\Gt�� � � � �CK��Gt�� YPZ b?YPZ*M � �Et�� F>NG`8X�M8O K �p ���

����?o�� ����?o � ����?o � ��

bdcPn�j}i3mo�Pe{w�x�qre{i3p)x<pDh)i<kTqr�PkTq¥i<��qtcDn��P|ti3�<|Gxzm e�f[x<f¤��i3w{wgi � f �� x2XEX F*Z?_qp*DEt�K%X��EN b��PYyF*Z2_qp*D*t�yF*Z?_qp*DEtn O�DEZ?_qpEx�B8M*NENGY J8`EN �2O _qp*D*Y `��8`PZ�KEKEKEK^GB8`RD , _GO�` Z*ME`*N XaB8`PZ*`8X�D[MPZ�K� [MRZEQyF*Z[YPxEZ*`abEb?MPZ �Gp8YRJ2O�DGB8`PD� D*YyDPB8M�� _GO �����[`RpEQ x*MEM��2O b?Mqb?YPZ?_ �EM��?o�D[Y \ �%\CK�] � ��� � �%\CK�] � ]���� ��YPZ b?YPZ[M �%\�K] � ]�� �E\ � F>NP`8XRM8O K�

!+xz|rpPe{pD� � qrcPnu~�j}i<mo�Pegwgnl|�hTi�n5f�p ¬ q¯jGcPn5jG�yqtcVx�q��3i<k�cDx�v<n ftkP�P�Pwgegn'h qtcDn�j}i3|t|rn'j}qop�kPm �Vn'|�iz��x<|t�3kPmonlp$qrf�qriF*Z?_ p*D*t � EPi3| nl�Tx<mo�Pw{n3�Oe{p�qtcPn¯��i<wgw{i � egpP�£�D|tegp$q�f�qrx�qrnlmonlp$q5� � n�cDx�v<n�ftkP�P�Dw{egn'h�qti�i�mUxzp��yxz|r�<kDm�n'p$qrf { � e�f���kDf�qfte{wgnlp$qtwg��eg�<pPi3|tn5h �

F*Z?_qpED*t��� n D DGBc_PO F[Y>_qp*D � r�� �GT `�p[T Q����ET� �p�� � r ��Q � ��� �� p qtcPn[i<qtcPn'|OcDxzpDh �<e{� � n[f�kP�D�Pw{��qti�i���n � xz|r�<kPmon'p3qGfl�3~ � egw{w*��kVf�q®�P|regp3q � cDxzqtn'v<nl|O|GxzpVhTi<m ��kPpD��e�fOe{pomonlmoi3|t�3���i3|[e�q � egwgw �P|ri�hPkDj}n�xof�n'�<monlp$qGx�qtegi<p¯� xzkDw�q � �F*Z?_qpED*t��� n D DGBc_PO F[Y>_qp*D � r�� �GT `�p[T Q����ET� �p�� � r ���

����� �"� � ��� $ ��$�� � � ��+������� pPn§iz�-qtcDn§qtcPegpP�3f¤qrcDx�q�j'xzp)�Vn�f�qt|GxzpD�<n�xz�&i<kTq[�P|regp3qre{pD��e�f �=*��6#=/ $'&)(<�¢~¢i<pDfteghPnl|dqtcDn§��i<wgw{i � egpP��n}�Pxzmo�Pwgn �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

_qpED r � Q �F*Z2_qp*D*t�� �E] K�` �[YRU*DyD[Y ORMPD r �p �����r�����F*Z2_qp*D*t�� �� CK T*Y8_qp*xyDGB8M T2_2_GO*_�YRp H �����Q�?]�IRr �F*Z2_qp*D*t�� �a\CK Z[M[OaU>NRD _GO(H �>_ �p���� Q ���

/¥i � �T�3i<k � i3kPw�h�nl���&n'j}q[qtio�<nlqdqtcPn§��i3w{wgi � e{pD��i3kTqt�DkTq �] K ` �8YRUEDyD[Y O�MPD r CK'T*Y>_qpExyDGB8M T2_?_GOE_�YRpLH� NGYG`PD?_qp*x F8Y>_qp*D MPr>XRMRF*D?_�YRp

� i � nlv3nl|5� � cVx�q¥�<i3k)x3j�qrkDxzwgw{���<n}q[�P|ri<�Vxz�Pwg�Uegf �] K ` �8YRUEDyD[Y O�MPD r� NGYG`PD?_qp*x F8Y>_qp*D MPr>XRMRF*D?_�YRp

I i�i3�$egpP�§�Dx3jG��xzq®qtcPn�j}iThTn<�3qtcDegf¢f�n'nlmUfOqri�e{pDhPegj'x�qtn�qtcDxzq®qtcDn¥nl|r|ti3|OcDxz�D�Vn'pPn'hU�&n}q � nln'pU�P|re{p$q¢f�qrxzqtnlmon'p3qGf � x<pDh� �T�DkTq¥cPi � jli<kPw�h¯qtcPe�f[�&n�� � i � jli<kPw�h�f�nlq�qtegpP� r qri �lnl|ri��<i � |ti3pP� �bdcPn�xzpDf � n'|�e�f�qtcDxzq�pDizqtcDe{pP� � n'p$q � |ri<pP� � e�qrc�ftn}qtqtegpP� r �6e{q'¬ f ��kVf�q§qtcVx�q�qtcPnof�n5j}i3pDh£�P|regp3q§f�qGx�qrnlmonlp$q�hTeghPp ¬ q�<nlq��P|tegp$qtn5h�qri �<i3kP|�ftjl|tn'nlp � EPi3|�n�m�jle{n'pDj}�£|rn'x3f�i3pDf'�Ie�q��3izq��P|re{p$qrn'h�qti£xzpuegp3qrnl|rpDxzw�¨t�PkDM6nl|5� ªIKx�qtn'|'� � cPnlpuqtcDn�PkDM6nl|§e�f¥��kDw{w:�6qtcPn��PkDM6nl| � egw{wOx<w{w-�<nlq��P|regp3qrn'hI� �9bdcPegf�e�f�x<wgfti�j'xzwgw{n5h>¨ <VkDf�cDe{pP�$ªoqtcDn �PkRM&n'|'� �u¦�ftkDxzwgw{�3�6�<i<k�¬ |rn�pPi<q

� &

Page 24: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

x � xz|rn¥iz�IqrcDx�q[hTnlw�x��<��nl�Tjlnl�Tq � cPnlp)x��D|ti3�<|Gxzm jl|rx3f�cDn'f � x<f¢egp�qtcDegfdjlx3f�n!���TxzpVh�f�i�qtcPn§j}i3p$qtnlp$qGf�i<� qtcPn��PkDM6nl|dpPn'v<n'|�<nlq[�P|tegp$qtn5hI�

� i � j'xzp �<i3k hTn'x<w � e{qtc qrcPegf���bdcDn��&n'f�q � x���e�f¥qriUqrx<�<n�x3hTv�xzp$qrx<�<n�iz�0qrcPn�� x3j�q�qrcDx�q�qtcPn �PkDM6nl|��<n}qGf <DkVf�cPn5h� cPn'p qtcPn �P|ri<�<|Gxzm �P|re{p$qrf�xy¨�pDn � wge{pPn5ª�jGcDx<|rx3j�qtn'|'�d« p � x3j�q5�V�P|regp3q§f�qGx�qrnlmonlp$q � �<n}qGf¥�P|regp3qrn'h i3pPwg�¯�&n'j'xzkDftn�qtcDnl|rn� x<f[x�pPn � wgegpPn�jGcDxz|Gx<j}qtn'|¤xzq[qtcPn�n'pDh�i<�-e{q'�O« � � n�cVx<hTp ¬ q�hTi3pPn§qtcDxzq'�TqrcPn��P|ri<�3|rx<m)¬ f¢i<kTqr�PkTq � i<kPw�h�cVx�v<n§�Vn'nlp �� NGYG`PD?_qp*x F8Y>_qp*D MPr>XRMRF*D?_�YRp

!un � i3kPwgh�qtcDe{pP��qtcDxzq � n§�3izq¥x�<Di3xzqtegpP�o�Vi3e{p$q¥n}�Pjlnl�Tqre{i3p¯�&n}��i3|tn§qrcPn��P|ri<�<|Gxzm�n'v<nlp�f�qrxz|tqtn5h �W£xz�3n�ftkP|rn�qrcDx�q¥�3i<kP|[hTn'�PkP�3�<egpP�o�P|tegp$q�f�qGx�qrnlmonlp$qrf[x<w � x��Tf¤nlpDh � e�qrc£x�pPn � wge{pDn � �p �}�

d ��� � k j ��

bdcPn§�P|re{moe{qtegv<n§hPx�qGx�q����&n'fdiz�-�3x�v�x�xzpDh ~ ��� x<|tn�moi3f�qtwg��x<hTi3�Tqtn5hU��|ri<m ~��Pfti _ p*D x<pDh t[NGYE`RD x<pDh T*YRU �>NPM xzpVh¯fti��i<|tqtcUx<w{w � i<|r��x<f0�3i<k�n}�T�&n'j�q5�<nl�Tjlnl�TqOqrcDx�q��$x�v�x§x<hPhTn5h�qrcPn�¨ � |rx<�P�Vn'|rª�j}w�x<frftn'f'��w{eg�<n oqp*D[MRx[MPZ �.��i3p ¬ q®kDf�n � |Gxz�D�Vn'|j}w�x<frftn'f¤e{p�n'e�qrcPnl|�~ i<|�~ ��� � qrcPnl�)hTi<p�¬ q¥nl��e�f�q'�bdcPn���i<wgwgi � e{pP�UftkP�Dftn'j}qtegi<pDf[hTe�frj}kDfrf¤qtcPn��Vx<ftegj��P|re{moe{qtegv<n�q����Vn5f[egp£~ � ~ ��� x<pDh)�3x�v�xP�

����� � � �+� $ � $ � �

~>cDx<fdegp$qtnl�3nl|dv�xz|regx<�Pwgn'f ��kDf�q�x<f[�$x�v�x hTi�n5fl�Px<pDh¯qtcPn'�¯xz|rn§hTn'jlwgx<|tn5h¯x<pDh�kVf�n5h�qrcPn�frxzmon � x��3�

_qp*D r � ���

bdcPn¥i3pPwg� qr|te�jG����qrcPegpP���3i<kUmUx�� |rkPp�egp$qti�e�f�qtcDxzq[~ hTn FDpPn'f¢xzp�egp$qtn'�<nl|�qti �Vn�x ¨ � i<|Gh X f�e �ln5ª 5$kDx<p$qte{q�����f�i�qtcDxzq�<i3k)j'xzp)�Vn�ftkP|rn�qrcDx�q¥egp$qrf[x<|tn�� x<f�q[�PkTq¥�3i<k�jlxzp�¬ q[�&n�f�kP|rn§cPi � �Peg��qtcPn'�¯x<|tn3� � i � n'v<n'|'�$moi3f�q¥m�iThTn'|tp)mUx<jGcPegpPn5fcDx�v3n � � X:�Pe{q � i<|GhPf�� i<|�wgx<|t�3nl| ���&f�iUqrcPe�f�e�f�pPi�wgi<pP�3nl|�x¯f�n'|tegi<kVf�j}i3pDj}n'|tp�� � i � nlv3nl|5�PqtcDnl|rn xz|rn�f�qtegw{w0mUx<jGcDe{pPn5f�x<pDhj}i3mo�Pe{wgnl|Gfdegp � cDegjGc)qtcDn§��i<wgw{i � egpP�Uj}iThTn � egw{wKpPizq � i<|r��x<fdnl���&n'j}qtn5hI�P�&n'jlx<kDftn�xzp)e{p$q¥e�f[pPizq¥w�xz|r�<n�nlpDi<kP�3c�qriUcPi<w�hx�v�xzwgkPn§qtcDxzq¥�Peg� �

_qp*D Q � ]����������������

« p �3x�v�xD�$i3p�qrcPn�izqrcPnl|[cVxzpDhI�De{p$qrf�xz|rn��3kDxz|Gxzp$qtn'n'h�qtiU�&n;� � �Pe�qGfl�

����� �"! � �����$ � ���

~ hPi$n5f�p�¬ q�cDx�v3n �&i�i<wgn'x<pux3f�x)ftnl�Vxz|Gx�qtn�q����Vn3�U« pDf�qrn'x3hI� �&i$i3w{n5xzpuegf�x�ftkP�Tq����&nUiz� _qp*D � �'nl|ri�egf�� x<wgftn<��x<pDh�nlv<n'|t�pPi3pDX �'nl|ri egp$qtn'�<nl|[e�f¤qt|rkPn3�®bdc$kVfl�T�&izqrc)i<�KqrcPn§��i<wgwgi � e{pP���P|re{p$q�¨�qt|rkPn'ª �r�� ���_�t�� r ��� � � F*Z?_qp*D��� ^EZGU[M� �p������_�t�� r � F*Z2_qp*D ��^EZGU8M� �p���� �

bdcPn���i<|rm�n'|�e�f�j}wgn'xz|rnl|�xzpDh£egf�qtcPn'|tnl��i<|rn�j}i3pDfteghTn'|tn5h��Vnlq�qrnl|�f�q���wgn<�6�PkTq§iTjlj'x<fte{i3pDxzwgw{�3�D�3i<k ¬ w{wBFDpDh qt|regjG��� j}iThTn�qtcDxzqqrx<�<n5f�x<hPv�x<p$qrxz�3n[iz�IqrcPn��&i�i<wgn'xzpUpVx�qtkD|tn�iz� egp3qrnl�3nl|Gfl� z®i<k�mUx���nlv<n'p FDpDh�e�qdj}i<p�v3nlpPegnlp$q��3i<kP|Gf�n'w�� fti<mon}qre{mon5fl�$i<pDjln�<i3k ¬ |tn§j}i3m ��i3|�qGxz�Pwgn � e�qrc)qtcPe�fl�

��� �! #I�� �65,N��!(*O/3F+.&Q �(*&�(*�! .8 $�0AHJN=- 3/D � +.-�H +@$�0��65 +.-/& N��! . #&�NC+*0#$� �& H6D/I H6I/I/ .&Q0.0�+.� 1B&K1/ #�!3/"!-'+A+.�J+#-/& O/ #� N�&�0#0#�! �5 .�!((*&�(*�! .8 $�D HK0.$�D/"!>�&AH6N�N�&�0#0 P�� �!0.+)N�3/ . #&�D'+LO/ #� N�&Q0.0#�! .0 � 0.3/N=- H60 +.-/&��7&QD'+.$�3/( � H6 .&�� � EG1F$ +)O/ #� N�&�0#0#�! .0 H6D/IJ+#-/& �! #IFE 0#$� �&�$�0�� �@1/$ +.0 P� &� &� 4O/ #� N�&�0#0#�! .020#3/N=- H604+.-/&); +#H6D/$�3/(�-/H60,H����6E 1/$ +� �! #I?P

�UN

Page 25: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

����� �"� ��������� ��� $ � �

I e{qtn'|rx<w jGcDxz|Gx<j}qtn'|rf¢e{p�~ xz|rn�pDizqrxzqtn5h � e{qtc fte{pD�<wgn 5$kPi<qtn§mUxz|r�Tfl�ObdcPe�fdegf�x � x��Uqriojl|tn5x�qrn§xojGcDx<|rx3j�qrnl|dj}i<pVf�qGxzp$q �

XaB8`RZ Y � � ����� �

# ��n � jGcDxz|Gx<j}qtn'|rf¢qtcVx�q�xz|rn�cDxz|Gh�qri�f��&n'jle�����e{p)qtcDegf � x���cDx�v3n�ft�&n'j}e�xzw[¨tn'frjlx<�Vn5hPª�pDizqrxzqtegi<p �

XaB8`RZ p[MRJ>N8_qp[M � � �p � �XaB8`RZ X�`PZEZ?_�`Rx[M RZ[MRDGU*ZGp � � RZ�� �XaB8`RZ D*` ��� � �D�� �

~¢cDx<|rx3j�qtn'|rf0egp)~sxz|rn¥xzwgw4#�¡D~¢«�« � fte{pDjln�¦¥pDegjli�hPn � x<ftp ¬ q®n'v<n'p�x��<wgn'x<m egp�xzp��3i<pPn3¬ f0n'�<n � cPn'p¯~ � x3fOegp$v3nlp$qtn5h-���bdc�kDf'�TqtcPn'�)x<|tn ��kDf�q�xUfte{pD�<wgn��$�$qrn<�DpDizq[q � i�x<f[egp �3x�v�xP� #¥w�f�iV�PqtcDn XqB8`PZ hPxzqrxzq��$�&n�e�f¥pPi<q�hTegf�qtegpDj}q¥��|ti3m _qp*D {Pe�q5¬ fj}i3pDfteghTn'|tn5hUx�i3pPnGX ���3qrn¥egp3qrnl�3nl|�egpDf�qtn5x<hUi<��x � i3|rhDX fte��'n'hoegp$qtnl�3nl|5�-bdcDnl|rn}��i<|rn<�$x�jGcDx<|rx3j�qrnl|�j'xzp�x<wgfti��&n�ft�Vn5j}e FDn'hU���e{qrf #�¡D~¢«�«dj}iThTn �

XaB8`RZ X�`RFc_aD[`EN n �������XaB8`RZ OqF8`8XRM � \� ��XaB8`RZ pGU>NEN � ���

bdcPn�w�x<f�q¥jGcDxz|Gx<j}qtnl|¤e�f¥xzw�f�iojlx<w{wgn'h¯qrcPn ¨�p�kPwgwI���3qrn<� ªof�egpDj}n�jGcDx<|rx3j�qrnl|Gf�qGxz�3n�kD�.��kDf�q�i3pPn§�$�$qrn<�EPkD|�qrcPnl|rmoi<|rn<�¤~ � e{wgw�j}i�n'|rjln)jGcDx<|rx3j�qrnl|Gf�qriup�kPm �Vn'|rfUx<pDhsv$e�j}n�v3nl|GftxD�OkDf�egpP�uqtcDn #�¡D~¢«t«�qGxz�Pwgn<��bdc�kDfl�¢qtcDn

��i<wgwgi � e{pP� egfd�&i3frfte{�Pwgn<�Tx<pDh��D|tiThTkDjln'f�qtcPn§p�kPm �Vn'| � e{p$qrnl�<n'|0� � �6� ftegpDj}no¬��-¬�cDx<f #�¡V~¢«�«¢jliThTn OQP x<pDh£¬ #�¬TcVx<f #�¡D~¢«t«j}iThTn %��+� �

_qp*D T2_�tGt � ��� � ��� n � �

! cDxzq�qtcDegf¤f�qGx�qrnlmonlp$q¢hTi�n5f�e�f FDpVhoqtcPn¯¨thTe�f�qrxzpVj}n'ª ��egp�p�kPm��&nl|¢iz��jGcDx<|rx3j�qtn'|rf0�K�Vnlq � n'nlpUqrcPn¥q � i��3e{v3nlpUjGcDxz|Gx<j}qtn'|rf'�z®i<k�jlx<p)x<wgftiUhTi�qtcPegpP�$f[w{eg�<n�qrcPegf'� � cPn'|tn p8MPrEDU� i3kPwgh¯cDx�v3n�qrcPn�jGcDx<|rx3j�qtn'| ��u � x<fde{qrf[v�x<w{kPn �

XaB8`PZyp8MRrED � � n � �i]��

« p¯� x<j�q5�TqtcDn�hPx�qGx�q����Vn�¨t�$�$qrn'ªohTi�n'ftp ¬ q¥n}�Tegf�q[e{p�~ � e{q'¬ f[jlx<w{wgn'h ¨rjGcDxz|5� ª! cDxzq§e�f #�¡D~¢«t« �H#�¡D~¢«�«�f�qGxzpDhPf���i3|)¨ #¥monl|re�jlxzp+¡$qrx<pDhPx<|rh+~¢i�hPn ��i3|§« pT��i<|rmUx�qtegi<p�« p$qtnl|GjGcDx<pP�<n5ª�xzpDh�e�f��D|tiQX

pPi3kPpDj}n5h ¨tx<ft��X:�3nl�3� ª�« q'¬ f!��kDf�q�x f�nlq�iz�[jGcDxz|Gx<j}qtnl|Gf�qtcDxzq�cDx�v<n��&nlnlpyp�kPm �Vn'|tn5hI���DkTq�qtcPn¯j}iThTn � x3f�xz�3|tn'n'h�kP�Vi3p����x¯p$kDm��&nl|�iz�dj}i3m��DkTqtn'|�mUx<p$kP� x<j�qrkP|rnl|Gf�wgi<pD�)x<�<i ���Dx3jG� e{p�qtcPn �-O � P f0����bdcPn'|tn � x<f§x�j}i<mo�&n}qre{pP� jli�hPn���|ri<m« L W j'xzwgw{n5h �@L¥~ ��«t~��V�DkTq ~ � x3f�egp�v<n'p3qrn'h���i3|§pPi<pDX « L W j}i3mo�PkTqtn'|rf'� fti�e{q�kDftn'h<#�¡D~¢«t«�� bdcPn+#�¡D~¢«t«�j}iThTn�cDx3f� �QN jGcDx<|rx3j�qrnl|Gf�egp�e{q'��qtcPn�FD|Gf�q � � i<|§fti � nl|rn�¨rj}i3p3qr|ti3w-jGcVxz|Gx<j�qrnl|GftªUqtcDxzq � nl|rn�kVf�n5h£qri)jli<p$qt|ri<w0mUx<jGcPegpPn'|t�3� EPi3|n}�Px<m��Dw{n3��qtcPn'|tn � x<fdxojGcDxz|Gx<j}qtnl|¢qti�qrnlwgw6qtcPn��P|regp3qrnl| ���Vx<jG��egp�qrcPn�hPx��Tf � cPnlp)�P|re{p$qrnl|Gf � nl|rn�w{eg�<n�q����Vn � |te{qtn'|rfdx<pDh�P|re{p$qrn'h�n'x<jGc+jGcDx<|rx3j�qtn'|�egpDhTegv�eghPkDxzwgw{���$���Dx<ftcPegpP� x�mon}qGxzw®�3nl� i3p3qri x¯|reg�P�Vi3pux<pDh�qtcPn'pui3p$qti¯qtcPnU�Dx<�Vn'|0��qri)�3i�Dx3jG��qri£qtcDnHFD|Gf�qoj}i3w{kPmop �9jlx<|t|regx<�<nU|rn}qrkP|tp4����bdcDegf cDxz�D�Vn'pPn'h+qri��&ns¨rj}i3p3qr|ti3w@W£ªD��#�pPizqrcPnl|�j}i<p$qr|ti3w¢jGcDx<|rx3j�qtn'|qti3wgh�qtcPn§�P|regp3qrnl|¤qti�moi�v<n�qtcPn��Dx<�Vn'|¤kD�¯i3pPn�wgegpPn ��wge{pPn���n'n'h-�¤xzpVhUqtcDegf � x<f ¨tjli<p$qt|ri<w6�3ªD�D~¢i<p$qt|ri<w�- |GxzpP��qtcPn��&nlwgw9�~¢i<p$qr|ti3w � �Vx<jG�<n5h�kD�)����i3pPn�jGcDxz|Gx<j}qtn'|'�®~¢i<p$qt|ri<wKIyx3hTv�xzpDjln'h�qtcPn��Dx<�Vn'|dqtioqrcPn§qti3�¯i<�KqrcPn�pPn}��q[�Dx<�<n<�

� n'|tn3¬ f¢x§qrx<�Pwgn¥iz�IqrcPn�v�e�f�eg�Pwgn�jGcDxz|Gx<j}qtn'|rf'�z�PwgkDf¤f��Dx3j}n��:¡T­¤~ �®xzpDh�hPnlwgn}qtn ��� �@I ��� ��x<jGco|ri � cVx<f N jGcDxz|Gx<j}qtn'|rf0egpe{q'�TxzpDhUqtcPn�p$kDm��&nl|¢xzq�qrcPn�wgn}�©qdiz�IqrcPn�|ri � egf�qtcPn #�¡D~¢«t«®j}iThTn�iz�IqtcDn�wgn}�©qtmoi$f�qdjGcDxz|Gx<j}qtnl|5� z®i3k�jlx<p�hTnlqtnl|rmoe{pDn¥qtcDn#�¡V~¢«�«¢jliThTn�i<��izqrcPnl|djGcDxz|Gx<j}qtn'|rf��$��jli<kPp$qre{pP� i�v<n'|'�$kDfte{pP��qtcPn�p�kPm��&nl|Gfdx�q¤qtcPn�qti3��i<� qtcPn§j}i3w{kDm�p�� EDi<|¤n}�Pxzmo�Pwgn<�qtcDn;#�¡D~¢«t«¤jli�hPn§��i<|U¨�pVª e�f �UP � + %�i<| �Q�-P �

�UO

Page 26: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ] \ � � � �\� W��*V � � � � � � �� � � � � � � � K I� � � ] \ � � � ���� � � H � � � � � � � n u V � � � ��� � o � � � � � s��� � � � W ^ � ���� � � � � � ���� ` � X T M t x]�� � B _ � N b p Y]E]� F , Z O D U J]� �� r Q � � � � � �����

z®i<k�jlx<p)ftnln�qtcVx�q6#�¡V~¢«�«¤egfdv3nl|r��f�egmo�Pw{n3� #�f¤� x<|¥x<f¥~�e�f[j}i3pDj}n'|tpPn5hI�Px�jGcDxz|Gx<j}qtnl|de�f ��kDf�q[xoftmUxzwgwIe{p$qtn'�<n'| � w{n5ftfqtcVx�q � �QN �¥qtcDxzq��<i<k�cDxz�D�Vn'p�qri)|rn}��n'|�qti�e{puqrcPnUj}i<p$qrn}��q�iz�¤f�qt|regpP�3f§xzpVh�jGcDx<|rx3j�qrnl|Gfl��bdcDxzq'¬ f � c�� � nUj'xzp�x3ftfteg�<pp�kPm��&nl|Gf¤qti�jGcVxz|Gx<j�qrnl|¤v�xz|regx<�Pw{n5fdxzpDh�fti ��i3|�qrc �

� ��j}i3kP|Gf�n3� #�¡D~¢«�«�cDx<f§fti<mon�wge{moe{qrxzqtegi<pDf'�;EPi3|�nl�Tx<mo�Pw{n3�&qtcPn'|tnoxz|rn�wgizqGf�� " ��@5���iz��jGcDx<|rx3j�qrnl|Gf[qtcVx�q�xz|rn�pPi<q�egpe{q'��/¥i<q���kDf�qojGcVxz|Gx<j�qrnl|Gf�wge{�3n�� ��|ti3m/�i<| � n'�<e�xzp+i<|�� ��|ti3m -�|tn'nl�6�O�PkTq��¯��|ti3m ¡��DxzpDegftc�xzpVh�xzp��$qtcPegpP�ux�q�x<w{w��|ri<m ~¢cPe{pDn'ftn�i<|6#�|rx<�Pegj<�[�3x�v�x�kDftn'f�¦�pPe�j}iThTn<� � cPe�jGc egf�xUm�kDjGc�w�xz|r�<n'|¥jGcDxz|Gx<j}qtnl|¥ftn}q � xzpVhI�VegpDjleghTn'p$qrxzwgwg�<�VxU�$x�v�xjGcDx<|rx3j�qtn'|-qrxz�3n'f0kP��q � i§�$�$qrn'f'�<x<f0i3�P�Vi$f�n5h�qri�i<pPn[���$qtn¤��i3| #�¡D~¢«t« ���3hPn'fte{�3pPn'h qti§cDx<pDhTwgn¥xzwgwTqtcDn¥j}i<mo�Pwgn}�Te{q���iz�&qtcDn� i<|rwghI¬ f[w�xzpP�3kDxz�3n'f'�¢bdcPn |tn5f�kDw�q¥e�f[qrcDx�q§jGcDxz|Gx<j}qtnl|Gfdegp£�3x�v�xUxz|rn�j}i3mo�Pw{e�jlxzqtn5hI�[¦¥pPe�j}iThTn�e�f�jlw{n5xz|rw{��qtcPn � x��¯iz�0qtcDn��kTqrkP|tn3�I�PkTq #�¡D~¢«t«¥e�f�f�qtegwgw-n'pPi<|rmoi<kDftwg�)jli<momoi<p�x<pDh£j}i3p�v<nlpDe{n'p3q5� �9bdcPn�e{p$qtn'|tpVx�qtegi<pVxzwKf�qrx<pDhPx<|rhPf�i<|r�3x<pPe �'x�qre{i3pDfxz|rn ��kDf�q[pPi � xz�P�D|ti�v�egpP��pPi3pDX #�¡D~¢«�«¤jGcDxz|Gx<j}qtn'|rf¢e{p�hTi3mox<e{p)pDx<m�n5fl�Tfti�qrcDx�q¥x -�|rnlnl� � nl��fte�qrn�i3p�wge�qrnl|Gx<jl��jlxzp)�&n¨������0� jli<mUª � x3j�qtkVxzwgw{�3�Te�q � i<kPw�h¯�P|ti3�Dxz�Dw{���&n ¨������0� jliD� �<|Gª �}������ ��� ��� � $ � � � ������

z®i<k j'xzp j}i3p$v3nl|tqd��|ti3m�i<pDn�q����&n�qti�x<pPizqrcPnl|[kVf�egpP��x+¨�q����&n�jlx3f�q5� ª ��kDf�q�x<f¥�<i<k � i<kPw�h)e{p �$x�v�xD��bdcPn�ft��p3qGx���e�fdqri�PkTq�qtcPn�pDn � q����Vn�egp �Dx<|tn'p3qrcPn'ftn'f¤qriUqtcDn�w{nl�©q�iz�0qrcPn�n}�T�P|rn'frfte{i3p �@EPi3|¥n}�Px<m��Dw{n3�Pqti�jli<p�v<n'|�q[��|ri<m xzp�egp3qrnl�3nl|[qri�x<Di$x�q'�T�3i<k�j}i3kPwgh)frx��_qp*D Q � \��t[NGYG`PD r � ��t[NGYG`PD � Q �

� �Ij}i<kD|rftn<�zegpU�P|Gx<j}qte�j}n<�zqtcPn�jli<mo�Pegw{n'| � e{wgwDkVf�kDx<w{wg� hPi§qtcPn[|re{�3c$qOqtcPegpP�D�$f�i�kDp3qre{wV�<i3k�f�qrx<|�q®�3n}q�qre{pD�§� xzpDjl�<�<�3i<k � i3p ¬ qpPn'n'h¯q����Vn5jlx<f�q'� � i � n'v<nl|5� � n � egw{wKf�n'n§fti<mon§n}�Px<m��Dw{n5fdwgxzqtnl|5�Pfti�e{q'¬ f[�&n'f�q[qtio�&n��P|tn'�Dxz|rn'h �

����� ��� ��� � $���$!

¡�i)� xz|§egp�qrcPe�f�f�n5j�qre{i3p � � n<¬ v<n�w{i�i<�3n'h�x�q§qtcPno�P|regm�e{qtegv<n�q����&n'f§iz�¥~ x<pDh�ftnln'p£qrcDx�q�qrcPnl��x<|tn�v<n'|t�£ftegm�egw�xz|�qti)qtcDn�P|re{moe{qtegv<n�q��$�&n'f¢iz���$x�v�xP�®~ hTi�n'f¢cDx�v<n�i<pPn���n'x�qrkP|rn¥qtcVx�q¤hPi$n5f�p�¬ q[f�n'nlm�qti cDx�v<n�x�hTeg|tn5j�q¤x<pDxzwgi<��e{p��$x�v�xP��xzpDhUqtcDxzqe�f¤qtcPn�x<�Pe{wge{q���qtiUhTn FDpPn�x�pPn � q����&n�x<f[xof���pPi3p��$m���i<|¥xzpDizqtcDnl|¤q����Vn3�

¡�kP�D�Vi$f�n � n � x<p3q�qti�hPnGFDpPn ¨�p�kPm �Vn'|rª�x<f�x�f���pPi3p��$m ��i<| _qp*D �<!�n¯moe{�3c3qohTi£qrcPe�f�qri�x<w{wgi � i<kP|Gf�n'w{v3nUqtcDn��|rnln'hPi<m qtiuw�x�qtn'|Uf��&n'jle����yqrcDx�qy¨tp$kDm��&nl|Gª£e�f�xuft�$pDi<p���m ��i<| t[NPYE`PD i<|onlv3nlp T*YRU �>NPM egpDf�qrn'x3hI� !un�j'xzp hTnGFDpDn¨�p�kPm �Vn'|rªUx3f�xoq����&n�kDftegpP� DEQGF[MGT*MGt �¤bdcPn�f���p$qrxz�)i<�0q��$�&n'hPn}��e�f�ftkP|r�P|te�fte{pP�3w{�)f�qr|rx<e{�3c$q���i<| � xz|Gh � ��kDf�q�hTn5j}w�xz|rn�qtcDnpPn � q��$�&n�x3f®e{� e�q � n'|tn¥x�v�xz|regx<�Pw{n[i<�IqtcPn�i<w�h�q����Vn3��x<pDho�P|rn'jln'hTn[qrcPn�hPn'j}w�xz|Gx�qre{i3p � e�qrcUqtcDn��<n'� � i3|rh DEQGF[MGT*MGt � EPi3|n}�Px<m��Dw{n �_qp*D r � I � ri_POy`Rpi_qp*D*MPx[MPZ�*`PZ?_�` �8NGM��PIDEQGF[MGT*MGt _qpED pGURb �8MPZ � I � pEURb �[MPZ _GO�` DEQPF8M�� O�QGp8Y�p*Q�b?YRU2O Jc_aDPBi_ p*D �PIpEURb��8MPZyQ � I � Qi_POy`*N*ORY `Rp _ p*D[MPx[MRZ�[`PZ?_�` �>NGM��PI

bdcPe�f[xzwgw{i � f¤kDf[qtiUhTnGFVpPn�xzp���v�xz|re�xz�Pwgn§kDf�egpP��qtcDn�pPn � q��$�&n �

� P

Page 27: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

pEURb��8MPZyQ �

pEURb��8MPZ O-,PU[`PZ[M�� pEU�b �8MPZyr ���Z[MPDGUEZGp r���r �

« � � n§w�x�qrnl|�jGcDx<pP�<n§i3kP|[moe{pDh x<pDh�hTn'jleghPn§qtcDxzq pGURb �8MPZ f�cPi3kPw�h¯�&n�x t[NGYG`PD � � n�j'xzp ��kDf�q�jGcDxzpD�<n�qtcPn DGQGF8MGT*MPt egpi<pDn��Dwgx3j}n�xzpDh�x<w{w6qrcPn�hTnGFVpPe�qre{i3pDf � egw{wKjGcDxzpP�3n�x<kTqti3mUx�qte�jlx<w{wg�<������ ��� � ��� � � $ � � �� � � $ �#�f��<i3ky|tn5jlxzwgw:�O~ hTi�n'ftp ¬ q cDx�v3n � |rx<�P�&nl|�jlwgx3ftftn'f'� bdcPn�w�x<jG��i<� � |rx<�P�Vn'| jlwgx3ftftn'f�hPi$n5f�p�¬ q � n'x<�<n'p�qrcPn�w�xzpD�<kDx<�<nftkP�Df�qrxzp$qregx<w{wg�<�T�PkPq¥e�q[e�f[f�wge{�3c$qtwg��w{n5ftf[jli<p�v<n'pPegnlp$q'�0« p��3x�v�xP���3i<k)�P|ti3�Dxz�Dw{�UkDftn�qtcPn � |Gxz�P�&nl|¥jlwgx3ftftn'f'�Tftx�� oqp*D[MPx*MPZ ���i<|[i3pPn§iz�-qtcPn§��i3w{wgi � egpP� �DkP|t�&i3ftn'f �

� ��nlqtnl|rmoe{pDe{pP��wge{moe{qrf'�KftkDjGc+x<f�qtcPn�jli<pDf�qrx<p$q oqp*D[MPx*MPZ K4� n � � n � � ��« p�~��6qtcDnl|rnox<|tnUjli<pDf�qrx<p3qGf � hTn FDpPn'huegpcPn'x3hTnl| FDwgn'f'�Dftnln�f�n5j�qre{i3p$�D� N ���PftkDjGc x<f � n 2o � ^ �

� ­Oxz|Gf�egpP��f�qt|re{pD��v�xzwgkPn'f'� ftkDjGc�x3f�qrcPnomon}qtcDi�h oqp*DGx[MPZ K+F[`PZ2ORM>o p*D �[« p�~��VqrcPnl|rnoxz|rn wge{�D|rx<|t�)��kPpDj}qtegi<pDf'� ftkDjGcx<f `PD*Y>_ � �

� ­Ox<jG��xz�3e{pP�Ux��P|tegmoe�qre{v3n�egp$qtnl�3nl|�qti¯�PkTq§e{p�i<pPn iz�OqtcDn �3nlpPn'|te�j�j}i3p$qrxzegpPn'|rf'�&ftkDjGc�x3f�x�cDx<ftc$qrxz�Dw{n3��« pu~��6�3i<k� i3kPwgh��P|ti3�Dxz�Dw{�§hTi�qtcPe�f�¨�����cVxzpDhPª�� jl|tn5x�qtegpP��x�f�qt|rkDj�qrkP|rn®qti�cPi<w�h�qrcPn¤e{p$qtn'�<n'|0��xzpDh�kVf�egpP��kDp3q����&n'h�v�x<|te�xz�Dw{n5fe{p�qtcDn¥j}i<p$qGxzegpPnl|5�KbdcPe�fOe�f®x§|rnlw�x�qtegv<n'w{� x<hTv�xzpVj}n'h�xzpVh |Gxz|rnd�P|ri<�<|GxzmomoegpP��qrn'jGcPpDe 5$kPnP{<moi3f�q¤~y�D|ti3�<|GxzmUf ��wge{�3nm�i$f�q��3x�v�xy�D|ti3�<|GxzmUf ��cVx�v<n�jli<wgw{n5j�qtegi<pVf�i<��� xzeg|twg��cPi<moi<�3nlpPn'i<kDf�e�qrnlmUfl��« p ~��¤qrcPn��D|ti3�<|Gxzmomonl| � i<kPw�h�P|ti3�Dxz�Dw{�+�<i�qti+fti<mon¯n M&i3|�q�qtiyhTnlqtn'|tmoegpPn)qtcPn ftn}qoiz��q����&n'f qti+�&n�cDxzpDhPw{n5h�xzpVh � i<kPw�h�kVf�n�x * & $0� &�qri�<nlpDnl|Gxzwge��'n�i�v3nl|¢qtcDxzq�f�nlq¥iz��q����&n'f'�

bdcPn���i<wgw{i � egpP�£qre{p��+�P|ri<�3|rx<m e�f x<p�n}�Px<m��Dw{n¯iz�[qtcDnTFD|Gf�q�q � i��PkP|r�&i3ftn'f'��bdcPn)�P|ri<�<|Gxzm |tn5x<hPf x£p�kPm �Vn'|���|ri<mqtcDn j}i3momox<pDh wge{pDn xzpVh�|tn'�Vi3|�qGf¥e{��e�q5¬ f��Peg�<�3nl|[qrcDxzp£cVxzw{�OqtcPn wgx<|t�3n'f�q��Vi$ftfteg�Pw{n�e{p$qtn'�<n'|'�6#�p£n}�Px<m��Dw{n iz�OqtcDn�qtcDe{|Gh�PkP|r�&i3ftn e�f§e{p�qtcDnoftn'j}qtegi<p�i<p�kDpPe{i3pDf � ftn'j}qtegi<p �P� � � �&�Vxz�<n � &+���./�izqrn qrcDx�q§qrcPegf§nl�Pxzmo�Pwgn kDftn'f�fti<monof�qrkDM�xz�&i<kPqwge{�P|Gxz|r����kDpDj�qre{i3pDf�x<pDh)cPn'x3hTnl| FVw{n5f����Vxz�<n � � �dx<pDh j}i3m�mUx<pDh X w{egpPn�xz|r�<kDm�n'p$qrf8� �Dxz�3n;� N �dx<pDh��P|re{p$qre{pP�� �Dxz�3n � %)�qtcVx�q � n�cVx�v<nlp�¬ q[�<i<q�qrnlp¯qtiU�<nlq'�� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� EN8_�b _qD2O K+B�� I � t*YPZ o � ^ � n �PI� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B�� I � t*YPZ `PD[Y8_ �RI

_qp*D b?`8_qp � _qpED `PZEx2X � XqB8`PZ���� `RZEx ���_qpED r�� `RD[Y>_ �%`RZEx ���]������_�t�� r � o � ^� � n 8I� �

F*Z2_qp*D*t�� � ^GB8`PD ��O ` b _axPB*DEQ��c_axypEU�b �8MPZA� �p�������

� n'|tn)e{qoe�foegp x3j�qtegi<p�� �¢x<jGc�wge{pDn)�&nl�3e{pDpPe{pD� � e{qtc x��Vn'|rjlnlp$q�f�eg�<psegfUx<psnl�Tn'j}kPqtegi<p�i<��qrcPn��P|ti3�<|Gxzm � e{qtc�xhTe M&n'|tn'p$q¥wgx<|t�3n�p�kPm �Vn'|'�:�9bdcPn§�Vn'|rjlnlp$q�f�eg�<p ��kDf�q�f�qGxzpDhDfde{p)��i<|dqrcPn�kPpPe{�¯�D|ti3m��Pq {P�3i<kP|Gf¤egfd�P|ri<�Vxz�Pwg��hTe M&n'|tn'p$q'� �� Z[ME`GTPpGURb ��������� �[\� ?]� Z[ME`GTPpGURb ��������� �[\� ?]��^GB8`RD���O ` b _axGB*DGQ��c_ax pEURb �8MRZA�

­Ox<jG��x<�<egpP�)x��D|tegmoe�qre{v3nUq����Vn�fti�qtcVx�q�e{q jlx<py�Vn��PkTq�egp�x �<n'pPnl|re�j�jli<p$qrx<e{pDnl|�mon'x<pDf�n5ftftnlp$qte�xzwgwg��mUxz��egpP� e�q�xftkP�Tq����Vnoi<� s � EM8X�D �DqrcPnom�i$f�q§�<n'pPnl|Gxzw0�$x�v�x¯j}w�x<frf�x<pDh qrcPnUxzpDjln'f�qti3|�i<�¢xzwgwOj}w�x<frf�n5f�� e{pDjlw{kVhTe{pD�)« p$qrnl�<n'|�xzpDh�i<pPn5fqtcVx�qUxz|rn�kDftnl|ohTnGFDpDn'h-�}�u« p ~��-qtcPn'|tn¯egf pPiun�5$kPegv�x<w{n'p$q�qtiu�3x�v�xD¬ f s � EM8X�D j}w�x<frf'��« ���3i<k � xzp$qox ��kPpDj}qtegi<p�qtcDxzq

� �4-/H +,D�H6(*&L0.&Q&�(*021/$� QH6 # .&L3/D +.$�> 8'�!3J .& H6>�$� �& +.-�H + $ +Q< 0 H6DJH61/1/ .&�%�$MH +.$��!DJ�65 � �� ;.; +.�*$�D +.&�"!&� � � 4-/&� #& � �� ; ; �@(*&QH6D/0,HA0 +# .$�D/"�657N=-�H6 #H6NC+#&� #0QP�� &!< >�> >�&QH6 #D H61B�!3F+ � �� ; ; 0#� �!D P

�D�

Page 28: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

i<�&nl|Gx�qrn'f[i3p xzp��$qtcPegpP��xzq�xzwgw9�V�<i<k£hPn'j}w�xz|rn�qtcPn�xz|r�<kPmon'p3qGf¤qti��&n�i<�-q����&n [Y>_aT � � xo�&i<egp$qtnl|�qti�v3i<e�h)egf�x�~>e�hTegi<mqtcVx�q[mon'xzpVf¤x��&i<egp$qtnl|¤qriofti<mon�kPpP��pPi � p)jGc$kDpP�Uiz�-m�n'moi<|r�<�ObdcPn�jlx<w{wgn'h���kPpDj�qre{i3p)q��$�Degj'xzwgw{��j'x<f�qrf¢qtcPn§�&i<egp$qtnl|¤qrifti<mon���pPi � p)q����Vn �Vnl��i<|rn�hTi<egpP��x<p��3qrcPegpP� � e{qtc e{q'��bdcPe�f¥�Vxz|Gxz�<|Gxz�Dc � egw{w-mUxz�3n�m�i3|tn f�n'pDf�n � cPnlp � n<¬ v<n�wgn'x<|tpDn'hxz�&i<kPq��&i<egp3qrnl|Gf�x<pDh)q����Vn�jlx<f�qtegpP�V�D�PkTq�«dqtcPegpP��e{q'¬ f��&n'f�q�qri ��kDf�q���i3|t�3n}q�x<�Vi3kTq s � GM8X�D egpu~��6bdcPn [Y>_�T � qt|regjG�)egfkP�3w{��x<pDh)�Vn5f�q�x�v3i<e�hTn'h¯x�q¥xzwgw�jli3f�qrf'�

d ��� � � �� � k ��� ���« p��$x�v�xD�Kx��P|ri<�3|rx<m kDftkDxzwgwg��j}i3mo�P|te�ftn'f�ftnlv3nl|Gxzw:� �Vn'|tcVxz�Df�mox<p��<�BFDw{n5fl�-n'x3jGcyhTnGFDpDe{pP��x f�egpP�<wgn�j}w�x<frf'�)bdcPn��$x�v�x|rkPpDX:qtegm�n �©qrcPn E` [` �P|ri<�3|rx<m �Iw{egpP�Tf0xzwgw3qrcPn'ftndj}w�x<frf�n5f qri<�<nlqtcPn'|Kegp$qti§x�jli<mo�Pwgn}qrn¢�P|ri<�3|rx<m��-~�qrx<�<n5fKx�v<n'|t��hTe M&n'|tn'p$qxz�D�P|ti$x<jGc � � cPnl|rn�iz�©qrnlp£n'v<n'|t�$qtcDe{pP��x<�Vi3kTq�xU�D|ti3�<|Gxzm�e�f ��kDm��Pwgn'h egp$qti�i3pPn FDwgn<��bdcPegf�egftp ¬ q�x3f�j}wgn'x<p£x<f¥qtcPn��$x�v�xxz�D�P|ti$x<jGc ���PkPq�jlxzp�fti<mon}qre{mon'fd�&n�n'x3f�egnl|¥hPkP|tegpP�on'hPe�qre{pP�V�

# FDwgn�iz��~ j}iThTn�jli<pDfte�f�qGfdiz��qrcPn§��i<wgwgi � e{pP�o��egpDhPfdiz�§¨�qri<�DX wgnlv<n'wgª�qtcDe{pP�$f �� j}i<pVf�qGxzp$qrf � hPnGFDpPn5h)kDf�egpP�oqrcPn��P|rnGX �P|tiTjln'frf�i3|'�$f�n'n�f�n5j�qtegi<p �P� � � �� q��$�&n�hTnGFVpPe�qre{i3pDf� �<wgi<�Dx<w&v�x<|te�xz�Pwgn�hTnGFVpPe�qre{i3pDf� ��kPpDj�qre{i3p hTnGFDpDe�qre{i3pDf

bdcPn5f�n¤jlxzp �Vndft�Vn5j}e FDn'h�e{p�xzp��§i<|GhTnl|5� � e�qrc�qtcDn¢|rkPwgn�qrcDx�qOf�i3mon}qtcDe{pP��m�kDf�q0�VndhTnGFVpPn'h��Vnl��i<|rn¢e{q-e�f-kDftn'hI�-bdcPnl|rn}��i3|tn3�xo��kPpVj�qtegi<p£hPnGFDpPe{qtegi<p�m�kDf�q�xz�D�Vn5xz|¥�&n}��i3|tn�qrcPn�hTn FDpPe{qtegi<p£i<�0qtcPn���kPpDj�qre{i3p�qtcDxzq � egw{w-jlx<w{wKe�q5�dbdc�kDf'�VqtcPn���i3w{wgi � egpP�� i<p ¬ q � i3|t� �t[NGYG`PD `PZ[ME`���t[NGYE`PD Z[`GT2_ U?O�� �

Z[MRDGU*ZGp �?o �EO-,PU8`RZ[M���Z[`PT2_qU?O���

� T*MPt2_qp8M��?o��*\CK] �

t[NGYG`PD O-,PU8`PZ*M���t[NGYG`PD r����Z[MPDGUEZGp r���r �

! cPn'p��<i3kojli<mo�Pegw{n¥qtcPe�fl�3qtcDn�j}i3mo�Pe{wgnl| � e{wgwVjli<mo�Pw�xzegp � cPe{wgn¥e{q'¬ f¢jli<mo�Pegw{egpP� `PZ[ME` qtcVx�q�e{q¤hTi�n5f�p ¬ q���pPi � � cDx�qd­®«-egfxzpVh � cDxzqdqtcPn O-,PU[`PZ[M ��kPpDj}qtegi<p)egf'� �®v3nlp � i<|Gftn<�$e�q¥mUx��U�<i�i<p�xzpVh¯x3ftftkPmon�qrcDx�qdqrcPn§q����Vn5f¢i<�-x<w{w6qrcPn�xz|r�<kPmonlp$qGfqti�qrcPn�kPpP��pPi � p)��kPpDj}qtegi<p xz|rn�e{p$qtn'�<n'|rf[x<pDh�qrcDx�q[qrcPn�|rn}qtkD|tp¯q����Vn�e�f¥xzp)egp3qrnl�3nl|5�bdcPn�j}i3pDftn�5$kPnlpVj}n§iz�-qtcPe�fU¨rhTnGFDpDn��Vnl��i<|rn�kDf�n5ª�|tkPwgn§egf[qtcDxzq FDw{n5fdqtn'pDh)qtio�&n � |re�qtqtnlp � e{qtc)qtcDe{pP�$f[egp¯qrcPn�i<|GhTn'|

� n�ftx � n5xz|rw{egnl| � jli<pDf�qrx<p3qGf FD|Gf�q5�$qtcPn'pUq����Vn5fl�3qtcPn'p��<wgi<�VxzwDv�x<|te�xz�Pwgn'f'�zqrcPnlp���kPpDj�qre{i3pDf'� � e{qtcUqrcPn�w�x<f�q���kDpDj�qre{i3p��Vn'e{pD�b?`>_ p �O¡$qt|GxzpD�<n � qrcPn��Vn'�<egpPpPegpP�Uiz�KqtcPn��D|ti3�<|Gxzm e�f[x�q[qtcDn�nlpDh)iz�KqtcPn FVw{n3�

d ��� � ��� � � � k � ����� ��� � ���~�¬ f moegpPegmox<w{e�f�qo�DcPe{wgi3fti<�Dc$�+cDx3fox�hTn5f�eg�<p � e�qrcsx�qtegp���wgx<pP�<kVxz�<n ��n5ftftnlp$qregx<w{wg� ��kDf�qoqtcPn jli<p$qt|ri<wdf�qr|tkVj�qtkD|tn5f x<pDhhPxzqrx hTn FDpPe{qtegi<pDf�qtcDxzq � n3¬ v3n ��kDf�qof�n'nlp �>xzpVh�n'v<n'|t�$qtcDe{pP��n'wgftn�e�f�|tn'w{n'�3xzqtn'h�qti�w{eg�P|Gxz|re{n5fl��bdcDegf�mox<�<n5f�e�q n'x<ft� qri� |re�qrn x ~ j}i<mo�Pegwgnl|���i<|§x�pPn � mUx<jGcPegpPn<�Ix<pDhI�6e���qtcPn�w{eg�P|Gxz|re{n5f�x<|tn�xzw�f�i � |re{q�qtn'p�egp+~��VqtcPn�wge{�P|Gxz|regn'f�j'xzp�qtcPn'p��&n5$kPe�jG�$wg��¨��&i<|tqtn5hPª�©qr|rx<pDf���i<|rm�n5h)qti � i3|t�)i<p qrcPn�pDn � jli<mo�PkTqrnl| ����bdc�kDf'��~ egf�iz�©qrnlpux�¨��De{i3pPnln'|rªow�xzpP�3kDxz�3n � qtcDnFD|Gf�q[w�xzpP�3kDxz�3n�qriU�Vn��&i<|tqtn5h�qriUpPn � cDxz|Gh � xz|rn<�

�$x�v�x�ftegm�egw�xz|rw{�o|rnlwgnl�3xzqtn5fOmUxzp�����kPpDj�qre{i3pDf�qti�wgeg�P|rx<|tegn'f'� � cDegjGc��3i<k�m kDf�q ¨�egmo�Vi3|�qGª�x�q¢qtcPn�qti3��iz�IqrcPn FVw{n3�0�$x�v�xhTe M&n'|rf¤��|ri<m ~�egp)qtcDxzq¥nlv<n'|t���$x�v�x��P|ti3�<|Gxzm�egm��Dw{e�j}e{qtwg�)f�qrx<|�qGf � e�qrc

_�b8F[YPZED E`�*`CK�NG`RpEx K��

� �

Page 29: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

bdcDxzq¤e�fl�Tx�p$kDm��&nl|¤iz�K�$x�v�x§��kPpDj}qtegi<pDfdxz|rn�x�v�x<e{w�xz�Pwgn�x<kTqti3mUx�qte�jlx<w{wg�<� � e{qtcPi3kTqdx3f���egpP�D�-« p�~����3i<k�cDx�v3n[qtiox<ft�6� z®i3khTi)f�i � e{qtc£qtcPn _ p?XPN�U[TEM f���p$qrxz�?{Vqti¯e{pVj}wgkDhTn�qrcPn�¨G¡$qrx<pDhPx<|rh�« � � ªUw{eg�P|Gxz|r�<�V�<i<k �DkTq�qrcPn���i3w{wgi � egpP��x�q�qtcPn�qti<��iz��<i3kP| FDwgn �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��

bdcPn�hTegfrx<hPv�x<p$qrxz�3n¥iz�O~�¬ f¢moe{pPegmUxzwgegf�q[xz�P�P|ri3x3jGcUegf�qtcVx�q¤qtcPn'|tn§xz|rn¥mUxzp��ow{eg�P|Gxz|r����kPpDj�qre{i3pDf¤i<kTq¢qtcPn'|tn3�Tf�kPe{qrx<�Pwgn��i<|[kVf�n ��egpDhTn'n'hI�D«�¬ m�mon'p3qre{i3pPegpP��qtcPe�f[n'x<|twg��fti qrcDx�q[«djlx<p¯|rn}��n'|¢qri�qtcPn5f�n§��kPpVj�qtegi<pVfde{p)qtcDn�n}�Pxzmo�Pwgn'f¤�&nlwgi � ���T�PkTq�<i3k�cDx�v<n�qti�9x �d��pPi � qtcVx�q¥qrcPnl�¯n}�Tegf�q'� ��� �[�$pDi � cPi � qtiUkVf�n�qrcPnlm��&xzpDh � j��[egpDj}wgkDhTn§qrcPn�jli<|r|tn5j�qU¨�cPn5x<hTn'| FDwgn'frªegp)i3|rhPnl|¤qtiUkDftn�qtcPn'm � m�i3|tn§i3p¯qrcPn'ftn§e{p x�moe{p�kTqrn��}�

bdcPn cDxz|GhTn'f�q��P|ri<�Dw{n'm�qri¯x<hDhT|tn5ftf�egf���pPi � egpP�UqtcVx�q�qrcPnl��nl��e�f�q�xzpVh � cDx�q�qtcPn'e{|�pDx<m�n5f�x<|tn3��bdcPn �Vn5f�q§f�i3kP|rjln«�¬ v<n���i3kPpDh e�f � xz|r�Pe�f�i3p£xzpDh�¡$qtn'nlwgn � |tnl��nl|r|tn5h)qti�egp�ftn'j}qtegi<p � � � ���&�PkTq§mox<p��£~ �&i�i<�Tf � e{wgw9�6egpPnlv�e{qrx<�Pw{�3�&jli�v<n'|¥qtcDnf�qrxzpVhPxz|Gh�wgeg�P|rx<|t�U|ri<kPqtegpPn'f'�� pDjln��3i<k��$pDi � qtcDnUpDxzmonoiz�dx)��kPpDj�qre{i3p+�<i<k�¬ h�w{eg�<noqri)kVf�n3� e�q5¬ f�m�kDjGcun'x3f�egnl|§qri)wgn'x<|tpucPi � qri kDftn�e{q'��bdcDn

i<pDw{egpPn�mUx<p$kVxzw�f¥i<p�x�¦¥pDe��£ft��f�qtn'm e{pDjlw{kVhTn mUx<p$kVxzw��Vxz�<n5f[��i3|¥qtcDnU~ wge{�D|rx<|t�¯��kPpDj}qtegi<pDf'�If�iV�D��i3|�nl�Tx<mo�Pw{n3�Ve{���3i<k� xzp$q�qri wgn'x<|tp�cDi � qti�kDf�n `PD[Y8_ �3�<i<k)jlx<p,��kDf�q¢q����&n b?`Rp `RD[Y>_ qti �<i<kD|¤¦�pPe����D|ti3m��Pqdx<pDhU|rn'x<hUqtcPn§mUxzp�kDx<wV�Dx<�<n3�bdcPn 53kVxzwge�q���iz�OqrcPn � |re{qtegpP��v�xz|regn'f'�VxzpVh�qtcPn'�£xz|rn�kDftkDxzwgwg�¯pPi<q�qrkTqti3|te�xzw�fl�&�PkTq � e{qtc�x�w{e{q�qrw{n��P|Gx<j�qregjln��<i3k�jlx<p kDftnqtcDn'ftn853kDe�qrn�n M&n5j�qre{v3nlwg�<�

¡�n5j}i<pVhTw{�3��qrcPn mUxzp�kDx<w[�Dxz�3n � egwgw¥qtn'w{w��<i<k � cDxzq�¨�cPn5x<hTn'| FVw{n5ªuqtiyegpDj}wgkDhTn3��# cPn'x3hTnl|+FVw{n£e�f�FDwgn�qtcDxzq�qtcDnj}i3mo�Pe{wgnl|�jlx<p£|tn5x<h)qri¯hTnlqtnl|rmoe{pDn�qtcDn�ft��p3qGx�� x<frf�iTjlegxzqtn'h � e{qtc�x�wge{�P|Gxz|r�)iz�O��kPpDj}qtegi<pDf'��« q§egpDj}wgkDhTn5f¥qrcPn pVxzmon'f�iz�qtcDn¥��kPpDj}qtegi<pDf'�3qtcPn�p$kDm��&nl|dxzpDh�q����&n'f®i<�IqtcPn'e{|¤xz|r�<kPmon'p3qGfl�$xzpDhUqtcPn'e{|¢|tnlqtkP|rpoq����Vn5fl�0« q¤x<wgfti�egpDj}wgkDhTn5f¢hTn5j}w�xz|Gx�qre{i3pDfiz�0egm��&i<|tqrx<p$q[q��$�&n'f�xzpDh)v�xz|re�xz�Pwgn'f[x<pDh�xzp��$qtcPegpP�Unlw�ftn�pPn'jln'frftx<|t�U��i3|dqtcPn j}i<mo�Pegwgnl|[qriU|tn5x<h¯��i<|¥�3i<k¯qtiU�&n�xz�Dw{n§qrikDftn�xow{eg�P|Gxz|r�o��kPpDj�qre{i3p � EPi3|[n}�Pxzmo�Pwgn<�PqtcPn�ft��pPi<�Dfte�f¤xzq[qtcPn§qri<�)iz�-qtcPn�mUx<p$kVxzwI�Dx<�<n���i<| `PD[Y8_ e�f �W � � s��[W>o�W� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B��

_qp*D `PD*Y>_ �XRY�p?O�D XaB[`PZ �apEF*DEZ����NGYRpEx `RD[Y*N �X�YRp?O�D XaB8`PZ �apEFEDEZ ���NGYRpEx NPYRp*x `PD[Y*NGN �XRYRp2O�D XaB[`PZ �apEF*DEZ����NGYRpEx NPYRp*x `PD[Y ,��XRYRp?OaD XaB8`RZ �qpEF*DEZ � �

bdcPe�f¤qtn'w{w�f[�<i3k�qrcDx�q[qriokDf�n `PD[Y>_ �T�3i<k¯pPnln5h�qriU�PkTq[qrcPn�f�qGx�qrnlmonlp$q� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B��x�qdqrcPn§qti3�)i<�-�3i<kP| FDwgn<�®bdcDn�|tn5f�q[iz�KqtcPn�ft��pPi<�Vf�e�fd�<egv<n5f�qrcPn�fte{�3pDx�qrkP|tn���i<|dqrcPn§��kPpDj}qtegi<p£x<pDh�e{qrf¥|tn'wgxzqtegv<n'f'�Tf�io�3i<kjlx<p£|rn'x<h qtcDxzq `PD[Y>_ qGxz�<n5f�x)f�qt|re{pP� � XaB8`PZ � �[x3f�e{qrf§x<|t�3kPmonlp$q�x<pDh e{q�|rn}qrkP|tpVf�x<p _qp*D � � !un<¬ wgw®hTegfrj}kVftf�f�qr|tegpP�$f�egpftn'j�qre{i3p �P� �UP i3pu�Vxz�<n � �+�}� bdcPn�|rn'f�q�iz�dqtcDn�mUxzpy�Dx<�<n�hTn5ftjl|teg�&n'f � cDxzq�qtcDn���kPpDj}qtegi<p�hPi$n5f{Oegp+qtcDegf�jlx3f�n3� `PD[Y>_j}i3p�v<nl|tqrfdxof�qt|re{pP�o|rnl�P|rn'ftnlp$qGx�qtegi<p¯iz�0xop$kDm��&nl|dqtioe{qrf[�De{pDx<|t��|tn'�P|tn5f�n'p$qrx�qre{i3p �

#¥w�ftiD�$�<i<k�mox��ocDx�v3n¥qri jGcDx<pP�<n�qtcPn � x�� qtioj}i3mo�Pe{wgn�x<pDh�wgegpP��qtcPn FDwgn<� EPi3|¢nl�Pxzmo�Pwgn<� � cPnlp��<i<k�kDf�n�qtcDn�mUx�qrcwge{�P|Gxz|r�<�&�<i3k ¬ w{w-cDx�v<n�qti�x<hPh qtcPn �>Nqb f � e�qGjGc qti¯qtcPnoj}i3momox<pDh wge{pDn i<���<i3kP|�jli<mo�Pegwgxzqtegi<p�jli<momUxzpDh �6fti�qrcDx�q�qtcDnj}i3mo�Pe{wgnl| � egw{wIwgegpP�U�<i3kP|d�P|ti3�<|Gxzm � e�qrc�qrcPn§mUx�qtc)wge{�P|Gxz|r�<� EPi3|dn}�Pxzmo�Pwgn<��egpDf�qrn'x3h�i<� q����Pe{pD� qrcPn���i<wgw{i � egpP�ox�qd�<i<kD|kPpPe{�¯�D|ti3m��Pq¤qri�j}i3m��De{wgn�qtcPn B*QGF8YRD[MRpEU?O�M �P|ri<�3|rx<m �� x2XEX �GY B*QGF8YPD*MRpEU?ORM�B*QGF8YPD*MRpEU?ORM�K%X�<i3k¯moeg�<c$q[e{pVf�qrn'x<h)cDx�v3n�qrioq����Vn �� x2XEX �GY B*QGF8YPD*MRpEU?ORM��ENqb B*QGF8YRD[MRpEU?O�MCK%X

W£x<p$��wge{�D|rx<|tegn'f'�If�kDjGcux<f O�D*T*N8_ � x<pDh OaD*T2_�Y |rn�5$kPeg|rn�pPi�jGcDxzpD�<n xzq§x<w{w-qri¯qrcPnoj}i<mo�Pegw�x�qtegi<p��I�PkTq��<i3k�f�cDi<kPw�hftkDf��&n'j}q�x�w{egpP��n'|t|ri<|¤e{�-�3i<k)�<n}q�x<p¯n'|t|ri<|dmon'frfrxz�<n�wge{�3n�qrcPe�f �� XEX ��x B*QPF8YPD[MRpGU?ORMCK%X �GY�B*QGF8YRD[MRpEU?O�MIRD�b[F>I[XEX��>_aQ �E`RB KSYCH�oqp tPUEp?X�D2_�YRp� BEQGF8YPD[M�pEU?ORM �*HI�B8Yqb?M*IG`Rp*T*MPZ2ORY�p>I�JEZ2_aD2_qpGx8I*XqFEF8I�BGQGF8Y�D[M�pEU2O�MCK�X H �CH UEp*T*MGt2_qp[MGT Z[MGtEMPZ[MRp?X�M D[Y��O-,GZED �XRY*NGNGM8X�D �H NPT Z[MPDGU*ZPp8MGT ] MPr?_aD O�D*`PDGU?Ob?`��*MCH ������� B*QGF[YPD[MRpEU2ORM�� �EZEZ[YPZi]

� �

Page 30: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

bdcPn��3e{v3n'x � x���e�f[qtcDn£¨�w�h |rn}qtkD|tpPn5h � n}�Te{q�f�qrx�qrkDfrªow{egpPn � ¨twghPªoe�f�qtcPn�wgegpP�<n'|'�&f�i�e{�®e{q��<nlqrf�x<p nl|r|ti3|'�D�<i<k�¬ wgw�pPn'n'h)qrix<hDh¯xowge{�D|rx<|t�oqri qrcPn�j}i3mo�Pe{w�x�qre{i3p¯wgegpPn<�¢~¢i3pDf�kDw�q�x��<kD|tk)e��-qtcDegf[cVxz�P�&nlpDf'�bdcPn'|tn§e�fdm�i3|tn§i3p)jli<mo�Pegw{egpP��~ egp f�n5j�qre{i3p$%D� � i<p)�Dx<�<n;� �D�

d ��� � � � � k��« py�3x�v�xD� xzpyxz|r|rx���e�f�xzp+i<����n'j�q5��fti)e{q�cDx3f§�P|ti3�Vn'|�qre{n5f�xzpDhumon}qrcPiThPf'�HEPi<|�nl�Pxzmo�Pwgn<� egpy�3x�v�x�qtcPn'|tnUe�f�x NPMRp*xEDGB�P|ri<�&nl|tq��<� fti��3i<k�j'xzp��Dx<frf§xz|ri<kPpDh�xzpuxz|r|rx���xzpDh���pPi � e{qrf§wgnlpP�<qtc�kVf�egpP�)qtcPno�P|ri<�&nl|tq��<� � nl|rn<¬ f§x¯�$x�v�x�mon}qrcPiThqtcVx�q FDpDhDfdqtcPn�p�kPm �Vn'|[iz� �ln'|ti$f¢egp xzp�xz|r|rx��oi<�-egp$qtnl�3nl|Gf �FEU �8N8_GX _qp*D��*MRZ[Y8O���_qp*D ��� `Rp n ZGZ[`PQ ���

_qp*D XRYRUGp*D����t*YPZ �_qp*D _ ����� _: G`Rp n ZEZ[`PQ KSNGMRp*xEDPB �'_ �������

_�t�� `Rp n ZGZ[`PQ��%_ ������� � XRYRUGp*D��� ��Z[MPDGUEZGp XRYRUEpED �

� n'|tn3¬ fdcDi � �<i3k � i<kPw�h)cDx�v<n�qtiUhTioqrcDx�q¥egp£~ �_qp*D��*MRZ[Y8O�� _qpED `Rp n ZEZ[`PQ ��� � _ p*D NPMRp ���

_qp*D XRYRUGp*D����_qp*D _ ����t*YPZ �_ ���� _B ENGMRp � _��������

_�t�� `Rp n ZGZ[`PQ��%_ ������� � XRYRUGp*D��� ��Z[MPDGUEZGp XRYRUEpED �

!un�cVx�v<n�qri)x3hPh�x<pPizqrcPnl|�x<|t�3kPmonlp$q�qri¯�Dx3ftf�egp�qrcPn�w{n'pP�zqrc � bdcPe�f§xzwgwOf�qrnlmUf���|ti3m qtcPn�� x<j}q§qtcDxzq�egpy~��Ix<p�xz|r|Gx��e�f�fte{mo�Pwg�yx£f�n�5$kPnlpDjln�iz�¥jli<pDftn'jlkTqtegv<nUmonlmoi3|t�uw{iTj'x�qtegi<pVfl� � e�qrc�pPi£mUx<|t�3nl|�i<�¤qrcPn��&nl�3e{pDpPe{pD�£i<|�qtcPn¯nlpDhI�£bdcDnxz|r|Gx��&¬ f[pDx<mon ��wge{�3n `Rp n ZGZ[`PQ �Dxz�&i�v<n!�de�f ��kDf�q�qtcPn�x<hPhT|rn'frf¥i<�®e�qGf FV|rf�q�n'w{n'm�n'p$q'��bdcDn wgiTjlx�qre{i3pDf¥i<�®izqrcPnl|�nlwgnlmonlp$qrfxz|rn�j}i3mo�PkTqtn5hu��|ti3m qrcDx�q��Vx<ftn<� � e�qrcypPi �Vi3kPpDhPf jGcPn'jG��egpP�£x�q�x<w{w:�-�Vn5jlxzkVf�nUqrcPn��P|ri<�3|rx<m f�egmo�Pwg�uhTi�n5f�p ¬ q���pPi �� cDxzq[qtcPn��&i<kPpVhPf[xz|rn<� �

z®i<ksxzw�f�i£pDizqte�j}n5h+qtcDn¯hTe M&n'|tn'pDj}n)egp�cPi � qtcDn¯xz|r|Gx���e�f hTn5j}w�xz|rn'hI�ubdcPn�~�f�q���w{n¯egf �&i3frf�eg�Pwgn�egp��3x�v�x£x3f � nlwgw9�qtcDi<kP�3c¯kPpVj}i<momoi<p��P�PkTq¥egp�~��P�<i3k�m�kVf�q¥�PkPq[qtcPn��P|Gx<jG�3n}qGfl� ��� � , .%<# /�qtcPn�v�xz|re�xz�Pwgn§pDxzmon<�z®i<k�jlx<p¯egpPe{qte�xzwge��'n�xzp�xz|r|rx�� � cDnlp)e�q¥e�f¥hTn5j}w�xz|rn'hI�Te{�-�3i<k)w{eg�<n �

_qp*D r������ � � ��� ]�� �� \�� � � �« �-qtcPn�p�kPm �Vn'|¥iz�0e{pDe�qregx<w{e �'xzqtegi<pDfde�f¥ftmox<w{wgnl|¤qrcDxzp)qtcDn�p�kPm��&nl|[i<�-n'w{n'm�n'p$qrf[i<��qtcDn�xz|r|rx��3�<qrcPn�|rnlmUxzegpPegpP�onlwgnlmonlp$qrfxz|rn§pPizq[egpPe{qte�xzwge��'n'hI�*��kVf�q�x3fd�<i<k�¬ h¯n}�T�&n'j�q5�

W£x<p$��w�xzpP�3kDxz�3n'f�cDx�v<n m�kPw{qte X hPe{monlpVf�egi<pDx<w-x<|t|Gx��Tfl� � cPe�jGc�j'xzp£�&n 53kDe�qrn kDftn}��kDw9� EDi<|�n}�Pxzmo�Pwgn<� x¯f��D|tn5x<hPftcPnlnlqmoe{�3c$q¥�Vn�jl|tn5x�qrn'h¯kDf�egpP��x�q � i X hTegm�n'pDfte{i3pDxzwIxz|r|Gx��<�Ti<|¥xowgegpPn'x<|¥xzwg�<nl�D|rx��P|ri<�3|rx<m m�eg�<c$q¥|rnl�P|rn'ftnlp$q[mUx�qr|te�j}n5f � e�qrcq � i X hTe{mon'pDf�egi<pVxzw�x<|t|Gx��Tfl��« p$qtn'|tpDx<w{wg�<�-qrcPn'ftn�m kPw�qreYX hTegmonlpDfte{i3pDxzw¤xz|r|rx��Tf�x<|tnU|rnl�D|tn5f�n'p3qrn'h+���yx£fte{pP�3w{n¯xz|r|rx���qtcDxzqcPi3wghPf§x<w{w-qtcDn�n'w{n'monlp$qrf'� � e{qtc+x¯fte{mo�PwgnomUx�qtcDnlmUx�qregj'xzw-��kPpDj}qtegi<pumox<�P�PegpP�¯��|ti3m m�kPw{qte X hTe{mon'pDf�egi<pVxzw0e{pVhTegjln'f§ftkDjGcx<f ������� ��i3| ���������-��qti¯qtcPn�jli<|r|tn5j�q�i3pPnGX hTegmonlpDfte{i3pDxzw0egpDhTnl�� O� � z®i<k+j}i3kPwgh�qt|r��qti hTn'|tegv<n qtcDno��kPpDj�qre{i3p��3i<kP|Gftnlw{� {e{q'¬ f�pPizq�cVxz|GhI� �>~���cPi � n'v<n'|'� hTi�n5f�p ¬ q�|rnl�P|rn'ftnlp$q�m�kPw{qte X hTe{mon'pDf�egi<pVxzw�x<|t|Gx��Tf¥qrcPegf � x��3�U« pDf�qrn'x3hI�0~ cDx<f�xz|r|rx��Tf�iz�xz|r|Gx���f'��bKi�|tn'�P|tn5f�n'p$q§x¯q � i�hPe{monlpVf�egi<pDx<wOxz|r|rx��3�6��i<|§n}�Pxzmo�Pwgn<��qtcPn'|tn � i<kPw�h£�&n�x)i<pPn X hPe{monlpVf�egi<pDx<w§¨��Dx3jG�$�&i<pDn'ªxz|r|Gx��<�$n'x<jGc)iz� � cPi$f�n§nlwgnlmon'p3qGfdegf�x i3pPnGX hTegmonlpDfte{i3pDxzwIx<|t|Gx�����i<|¥xo|ri � �« pU�P|Gx<j}qte�j}n<�$�<i3k � e{wgw&�Dxz|rnlwg� ftnln�qtcPn�hTeYM6nl|rnlpVj}n¥egp�egp3qrnl|rpDxzwV|tn'�P|rn'ftnlp$qrxzqtegi<p � � n'|tn¥e�f¤xzpUn}�Px<m��Dw{n¥i<��x��P|ri<�3|rx<mqtcVx�q�j}|rn'xzqtn5f¤x<pDh)�P|re{p$qrf[x�m kPw�qre{�Dw{e�jlxzqtegi<p)qrx<�Pw{n§kP�)qri �UP ��� �UP �

��� 5 N��!3/ #0.&�/3/D/IF&Q +.-/& N��Q%'&Q .0 ��� H�%!HF< 02H6 . =HQ8�02H6 #&,H6>�0#� 0#&*. 3/&�D/N�&Q04�65 N��!D/0.&�NQ3�+#$ %'&L(*&�(*�! .8�>���NQH +.$��!D/0 ��1/3F+2$ + -�H60 4 =H6O/OB&�IK+.-/&�( 3/O$�D�H,N�>MH60#0 +#-/H + .&QN��! .I/0 +.-/&2H6 . =HQ8:< 07>�&�D/"6+#-�H6D/I�N#-/&�N ��0�$�D/I/$�N�&�0�1B&C5 �! #&2H6N�N�&Q0.0#$�D/" +#-/&4H6 . =HQ8'P ;GD��!3/ �������� / &��/H6(*O/>�&�!$ 5�+.-/&2H6 . =HQ8L-/H60 �����&�>�&�(*&QD'+.0 �F+.-/&��'HQ%6H�N���I/& 4$�>�>:O/ #�!1�H61F> 8 N#-/&�N � H6>�> ������$�D/I/$�N�&�025 �! 2N��! # .&QNC+.D/&�0#0 � 4-/$�N=- 0.&�&Q(*0 &���N�&Q0.0#$ %'&� 4-/$�>�&,+.-/& � $�(*O/>�&�(*&�D +#H +.$��!D4$�>�>?N#-/&�N � DF�!D/&!P �OB&�&�I %'&� #0.3/0 0#H 5 &C+G8'P

� �

Page 31: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

_qpED ` ��]���� ��]���� �_qpEDi_�� ��

I � VGZ[MG`PD[M b8U>N�D?_qF>N8_PXR`PD?_�Y�p D[` �>NGM �PIt*YRZ ��_ ���� _: 2]���� _ ��� �

t*YRZ � ����� 2]���� ���� �`��%_ � � � � _�� ��

I � � YRJ �'FEZ?_qp*D _aD YRU*D �PIt*YRZ ��_ ���� _: 2]���� _ ��� ���

t*YRZ � ����� ��� ���� �FEZ?_qp*D*t��� �ET� �D ��� ` �%_ � � ������

F*Z2_qp*D*t�� � �ET� �p ��� ` �%_ � � ��������

z®i<k � e{wgwIf�n'n�qrcPn§nGM6n'j}qrf¤iz�KqtcPn§xz|r|rx���X iz� X xz|r|rx��Tf-|rnl�P|rn'ftnlp$qrxzqtegi<pUe{�K�3i<k � xzp$q¤qtiohT��pDxzmoe�jlxzwgwg��xzwgw{iTjlxzqtn�x�m kPw�qreYXhTegmonlpDfte{i3pDxzw x<|t|Gx��<��!un � e{wgw j}i�v3nl|¤qtcPe�f[w�x�qrnl|5� �:¡�nln�ftn'j}qtegi<p �P� � �V� �« pu~ax<pDh�~������6�3i<k�j'xzp ¬ q�|rn'fte��'n x<p�xz|r|rx��3�Vx3f��3i<k£jlx<p£egp��$x�v�xD� � i � n'v<nl|5�Degp+~������VqrcPnU¡$qrx<pDhPxz|Gh£bKnlmo�Pw�x�qrn

I eg�P|Gxz|r��� ftnln§�Dxz|tq &�� � �¢x<hPhDf�qrcPn �[M[X�D[YPZ j}w�x<frfl� � cPe�jGc¯e�fdwge{�3n�qrcPn��3x�v�x�#¥|r|rx��Uj}w�x<frf'��x<pDh¯cDx<fdx NGM�p*xEDGB �D|ti3�Vn'|�q��3�xzwgwgi � f¢|rn'fte �legpP�UxzpDh)f�i���i3|�qrc �

d ����� � � �9� ��� �~ hPi$n5f¤pPizq[cDx�v3n�¨tf�qt|regpP�3frª�x3f¤x �PkPegw{q X e{p�hPx�qGx�q����&n<�0« pDf�qtn'x3hI�Te{qdcVx<fdxz|r|rx��Tf�iz�-jGcVxz|Gx<j�qrnl|Gfl�$xzpDh¯egp ~sqrnl|rmoe{pPi3w{i3�<�3�xof�qr|tegpP�oe�f¥f�egmo�Pwg��xzp xz|r|Gx���i<�-jGcDx<|rx3j�qrnl|Gfl�0bdc�kDfl� � n�jlx<p)jl|tn5x�qrn�xUf�qt|re{pD�ox3f¢��i<wgw{i � f �XaB8`RZ O[] ��]����� �bdcPe�f�f�qr|tegpP�)cDx<f§n'pPi<kD�<c�|ri�i<m qri�f�qti3|tn �UP P jGcDx<|rx3j�qrnl|Gfl� � �dj}i3kP|rftn<�Ifte{pVj}n�~ hTi�n5f�p ¬ q�jGcPn'jG�£x<|t|Gx����Vi3kPpDhPf'� �3i<kf�qtegw{w cVx�v<n�qtiU�&n�jlxz|rn}��kDwIpPizqdqti�f�qti3|tn�x<p$��jGcVxz|Gx<j�qrnl|Gfdx��©qtn'|dqtcPn �-PQP qtc �

¦�ftegpP��qtcPn�x<�P�P|ri3x<jGc���i<|[egpPe{qte�xzwge��'e{pP�Ux<|t|Gx��Tfl�$�<i3k)jli<kPw�h�egpPe{qte�xzwge��'n�xof�qr|tegpP� �XaB8`RZ O� ��]���� � ����t � � �SZ�� � ��_ � � ��M � � � p�� � ��T � � �%N � � � Q�� � �bdcPe�f[e�fdv<nl|r�oqtn5hTegi<kDf'�TqtcDi<kP�3c � !�n3¬ wgw�ftnln�x��Vnlq�qrnl|�x<�P�P|ri3x<jGc)x��Pe�q¥w�x�qrnl|5�

¡�kP�D�Vi$f�n¯�<i<k�cDx�v<n�x�f�qr|tegpP�uf�qri<|rn'hyegp�i<pDn)x<|t|Gx�� � iz�¥wgnlpP�<qtc NGMRp ���®x<pDhy�<i3k � xzp$q�qri�j}i3���ue{qrf�j}i3p$qtnlp$qGf�qrixzpDizqtcDnl|5� z®i3k j}i<kDwgh � |te{qtn�jli�hPn�w{eg�<n�qtcDegf �[Y>_aT X�YRF*Q�[OaDEZ?_qp*x�� XaB8`RZ T*M8O�D�� � � XaB8`PZ ORY�U*Z2XRM � � � _qp*D NGM�p ���

t*YPZ ��_ ����� _: ENGMRp � _ �������T*M8O�D���_ � � ORYRU*Z2X�M �%_ � ��

� �Oj}i<kD|rftn<���<i3k � i<kDwgh¯cDx�v<n�qtiU��pPi � cPi � wgi<pD� qrcPn�xz|r|Gx���f � n'|tn3�Pf�i�qrcDx�q¥�3i<k�j}i<kDwgh)f�kD�P�Pwg�¯x�v�xzwgkPn§��i<| NGMRp �� i � nlv3nl|5�3|Gx�qrcPnl|¤qrcDxzp��Dx3ftfdxz|ri<kDpDh¯f�qt|regpP�ow{n'pP�zqrcDfl�V~>xzwgmoi3f�q[x<w � x��Tf¤kDf�n5f[xohTeYM6nl|rnlp$q¥xz�D�P|ti$x<jGc � � cPe�jGc)egf¤qricDx�v3n§x<p�n}�T�Pwgegjle�q¥mUxz|r�<n'|d��i<|[qrcPn�nlpVh�iz�-qtcPn�f�qt|re{pD�D�¢¡�egpDjln�xof�qr|tegpP�Ue�f¥xzp xz|r|Gx��Uiz�OjGcDxz|Gx<j}qtnl|Gf'�3qrcPe�f¥mUxz|r�<n'|¤m kDf�q

�&n�x�jGcVxz|Gx<j�qrnl|5�-~smoe{�3c$q¢cDx�v3n¥kDftn'h�qtcDn�pPn � w{egpPn�jGcDxz|Gx<j}qtnl|Oi3|®qrcPn��&nl|re{iThUi3|¢fti<mon¥i<qtcPn'|'�$�PkTq¤e�q[jGcPi3ftndqti kDftn¥qtcDnjGcDx<|rx3j�qtn'| � cPi$f�n #�¡D~¢«�«[v�x<w{kPn egf��ln'|tiV�Vxzw�fti�jlx<w{wgn'h)qrcPn�p�kPwgw-jGcVxz|Gx<j�qrnl|¥i3|[qtcDn p�kPwgw����$qtn3� !�n�ftx � qrcPegf�jGcDx<|rx3j�qtn'|n'x<|twgegnl|5�ze{poqrcPn�ftn'j}qtegi<pUi<pUjGcDx<|rx3j�qrnl|Gfl� EDi<|OqrcPe�f®|rn'x<fti<p��$~@X f�q���w{n¥f�qt|regpP�3f®x<|tn[i<�©qtn'p�jlxzwgwgn'h�p�kPw{w X:qtnl|rmoe{pVx�qtn5hUf�qr|tegpP�$fl� �bdcPn�jli<���o��kPpDj}qtegi<p£xz�&i�v<n�moe{�3c$qd�&n�|rnGX � |te{q�qrnlp�x<f �

��� �!3 < >�> 0#�!(*&C+#$�(*&�02-/&QH6 +.-/&�0#&L .&�5 &� # .&QIK+#�KH60 � �� ; ;�� 0.+. #$�DF"!0 �/+.-/&�� 5 �! 4+.-/& �&� #�*1'8�+.&�H + +#-F& &�D/I?P��4-/H + +.&� #(*$�D/�!>��!"68 0#&�&�(*0 +#�1B&)IF8�$�D/"A�!3F+ �/+.-/�!3/"!- P

� �

Page 32: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

[Y>_aT X�YRF*Q�[OaDEZ?_qp*x ���XqB8`PZ T*M8O�D ��� � XaB8`RZ O�YRU*Z2XRM��������_qp*D _ � ���JEBc_RNPM�� ORYRU*Z>XRM �%_ � ����� �� ��� �

T*M8O�D���_ � � ORYRU*Z2X�M �%_ � �_ ��� �

�T*M8O�D �%_ � � ORYRU*Z2X�M �%_ � �

/¥i<qtn¢qtcDxzq-�&izqrc i<�PqtcDn'ftn¢��kDpDj�qre{i3pDf � e{wgwPj}i3�$��jGcDx<|rx3j�qrnl|Gf kPp$qtegw�qtcDnl��|rn'x<jGc�qtcPn'e{|Of�qti<�D�Pe{pD��jli<pDhTe{qtegi<p���|tn'�3xz|GhTwgn'frfiz�-qtcDn�xzmoi<kPp$q[iz�0f��Vx<j}n�x<w{wgiTjlx�qrn'h�qti�qtcDn�hTn'f�qtegpDx�qre{i3p f�qr|tegpP�D�ObdcPe�f[e�f[xoj}i<momoi<p�fti<kP|Gj}n§iz�-nl|r|ti3|'�« q'¬ f®pDizq¢pDn'j}n5ftfrxz|r��qri�egm��Dw{n'm�n'p$q¢nle{qtcDnl|¤iz�6qtcPn5f�n�f�qr|tegpP��jli<����e{pD�§��kPpDj�qre{i3pDf¢�<i<kD|rftnlw{���-bdcDnl��cDx�v<n�x<w{|rn'x3hT���&nln'p

egm��Dw{n'm�n'p$qtn'h)egp)qtcPn cO�DGZ?_qp*x K B�� w{eg�P|Gxz|r�<� �9¡�n'n�f�n5j�qtegi<p �D� N ��x<�Vi�v3n<� ��bdcDnl��egpDjlw{kDhPn �O�DEZ>XaF*Q ��TEM8O�D ��O�YRU*Z>X�M � � I� XRY�F*Q ` O�DGZ?_qp*xyD[Y�pEU>NGN��EQED[M �PIO�DEZPp?XaF*Q ��T*M8O�D ��ORYRUEZ>XRM��%NRMRp � ��I� XRY�F*Q ` O�DGZ?_qp*xyx?_ [MRp NGMRp*xGDGB �PIO�DEZ[NGMRp �O�YRU*Z2XRM ��� I� Z[MRDGU*ZGp DGB[M NPMRp*xEDGB YGt `�pEU>NEN �RD[MPZ�b _qp8`PD[MPT O�DGZ?_qp*x�PIO�DEZ>Xb8F ��r �SQ ��� I� XRYqb8F8`PZ[M pGU>NEN �RD*MPZ�b _qp[`PD[MGT�O�DEZ2_qp*x2O �PI

d ����� � � �9��� � �� pPn¥i<�6qtcPn�qtcPegpP�3f��<i3kohPi � e�qrc�j}w�x<frftn'fOegp��$x�v�x�e�f®qri�j}i3w{wgn'j}q�|rnlw�x�qtn5hohPx�qGx§qti3�<n}qrcPnl|¢x<f�x�f�nlq�iz�IegpDf�qGxzpDjln¥v�xz|regx<�Pwgn'f'�z®i<k�x<wgfti��P|ri�v$e�hTnUmon}qrcPiThPf�qri i<�&nl|Gx�qrnUi<puqtcPn'm��-�DkTq � n � e{wgw��PkPq�qtcDxzq x<fte�hTno��i<| pPi � x<pDh+|tnlqtkP|rpuqti£e{q�w�x�qrnl|5�¡�kP�D�Vi$f�n � n � x<p3qrn'h�qtiUhTn FDpPn�xu¨��&i<egp$qrª�i<����n5j�q[egp��$x�v�xP� !un�m�eg�<c$q¥f�qrxz|tq[w{eg�<n§qrcPe�f �FEU �8N8_GXyXPNG`[OEO �[Y>_qp*D �

FEU �>N8_GX _qpED r �FEU �>N8_GX _qpED Q �

FEU �>N8_GXyO�D*`PD?_GX�[Y>_aT�b?`>_qp � WPDGZ?_qp*x�� �y`PZEx2O�����[Y8_qp*D YPZ?_qx?_qp �yp8MRJ��[Y>_qp*D�� ����[Y8_qp*D � ] �yp8MRJ��[Y>_qp*D�� ���YPZ2_ax?_qpLK+r � ���YPZ2_ax?_qpLK+Q � ���� ] K<r � � ��� ] K<Q � ]a\��

��

/¥i<qte�j}n�qtcVx�q[qtcDegf¥x<wgftioj}|rn'x�qrn'f[xu¨�q����&n'ª qtcVx�q � n§j'xzp)kDftn§��i<|¥hTn5j}w�xz|re{pP��v�xz|regx<�Pwgn'f'��x3f � n�hPegh)egp b?`>_qp �bdcPn�|ri<kD�<c�n�5$kPegv�xzwgnlp$q�egp�~>e�f�qti�jl|tn5x�qtn�x�¨tf�qt|rkDj�qGª�� ftcPi<|tq¥��i<|�¨tf�qt|rkDj�qrkP|tn5ª �}�dbdcDn���i<wgw{i � egpP�Unl�Tx<mo�Pw{n j}i<mon5fj}wgi3ftn�qtiomoe{moe�jG��e{pP���$x�v�xP¬ fdf���p$qrxz� �O�DEZPU?X�D �[Y>_ p*D �

_qpED r �_qpED Q �

� �

_qp*D b?`8_qp � � �O�DGZGU?X�D �[Y8_qp*D YPZ?_ax2_qp �O�DGZGU?X�D �[Y8_qp*D � ]��YPZ2_ax?_qpLK+r � ���YPZ2_ax?_qpLK+Q � ���� ] K<r � � ��� ] K<Q � ]a\��

� %

Page 33: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� i � nlv3nl|5�<qrcPnl|rn�egf[x �Vnlq�qrnl| � x��oiz�KcVxzpDhTwgegpP��qrcPe�fdeghTn5x�e{p£~�� � cPe�jGc � n � egwgw hTn}��n'|[kPp$qtegw x��©qtn'| � n3¬ v3n�hPegfrj}kDfrftn'h�&i<egp3qrnl|Gfl�

d ����� � ��� � ���0+, � �U� �U:��%

d ��� d g � � ��� :� �­0i<egp$qtn'|rf¤xz|rn�x<p�egm��&i<|tqrx<p$qdhPxzqrxzq��$�&n�e{p£~�� � cPegw{n�e{p��$x�v�xD���Vi3e{p$qtn'|rf¤ftnlnlm�qti��Vn§pPn5xz|rw{�opPi3pDX:nl�Tegf�qtn'p3q5�O�3x�v�x�hPi$n5fl�egps� x3j�q5��cDx�v3n)�&i<egp$qtn'|rf'���PkPqUqtcPn�w�xzpP�3kDxz�3n¯cDx3f�qt|re{n5h�qri+mox<�<n)qtcDnlm � x<e{|rw{��e{p�v�egfteg�Pw{n3� #¥w�f�iV�¢�$x�v�xuj}i3p$qt|ri<w�f e{qrf�&i<egp3qrnl|Gf§m�kDjGcumoi<|rn�qtcDx<py~�hTi�n'f'� � cPegw{n¯~ egf§�&nl|t��n'j}qtwg� � egw{wgegpP�)qti wgn}q��<i3kuftcPi�izq��<i3kP|Gf�n'w���egpuqtcPno��i�i<q'�Ubdc�kDfl�e{q'¬ f¤hPe m�j}kDw�qdqti�nlv3nlp)j}i<mo�Dx<|tn�qtcPn�w�xzpP�3kDxz�3n'f � e�qrc�|rn'ft�Vn5j�q¤qti��Vi3e{p$qtn'|rf'�0« pDf�qtn'x3hI��« � egw{w ��kDf�q[hTn'frj}|re{�&n��Vi3e{p$qtn'|rfdx3fqtcDnl�¯x<|tn�kDftn'h)egp£~��VxzpDh � n�j'xzp)e{pDf�qtn5x<h�j}i3mo�Dxz|rn�cDi � j}n'|�qGxzegp¯�&i<egp$qtn'| X �Dx<ftn'h¯hPx�qGxof�qr|tkDj}qtkP|rn'f[x<|tn�jl|tn5x�qtn5hI�

­0i<egp$qtn'|rfKxz|rn¤jl|tkDjlegx<w�e{poxzwgwTwgx<pP�<kVxz�<n5fl��n'v<nlp�qtcPi3kP�<c qtcDnl��x<|tn¢cDxzpDhPw{n5h hTe M6nl|rnlp$qtwg��egp�hTe M6nl|rnlp$qOwgx<pP�<kDx<�<n5fl�.! c��xz|rn§qtcDnl� f�i�e{mo�&i<|tqrxzp$q�� � pPn�mUx*��i3|¥|rn'x<fti<p�e�f¥qrcDx�q��Vi3e{p$qtn'|rf�xz|rn�w{eg�<c$q � nleg�<c$q¥qrcPe{pD�3f'� � cPegw{n mUxzp��¯i<�0qtcPn�qtcPegpP�3f� nUkDf�noegp+�P|ti3�<|GxzmUf§xz|rno�Pe{�V��cPn5x�v�� qtcPegpP�$fl�TEDi<|�nl�Tx<mo�Pw{n3�Kx<p�i3����n'j}q�e{pyx��<|Gxz�DcPegj'f��P|ti3�<|Gxzm jli<kPw�h � n'w{wOcDx�v3negpDf�qGxzpDjln§v�x<|te�xz�Dw{n5f¤��i<|dqtcDn ��� ��� ���)�¤wgiTjlxzqtegi<p)iz��qrcPn�i<����n'j�q5��qtcPn�ftn}qGf[iz�-v<n'|�qregjln'f[xzpVh�n5hT�<n5f¤qtcDxzq¥e�q¥cDx3fl��qrcPn�j}i3w{i3|iz�0n'x3jGc¯wgegpPn<�TqrcPn�qrn}��qtkP|rn�iz�0n'x3jGc�� x3j}n3�DxzpDh¯�&i3frf�eg�Pwg���Pe{qtmUxz�Vf¥xzpDh)�Pe�j�qrkP|rn'fdqrcDx�q � egw{w��Vn�mUxz�D�Vn5h�i<p$qtiUhTe M&n'|tn'p$q� x<jln'f'�ObdcPn�qrizqGxzwIf�e �ln�e{p)monlmoi<|r�Uj}i3kPwgh�n'x<ftegw{�U�&n�qrnlpDf¤i<� qtcPi3kDfrxzpDhPf¢iz�K�$�$qrn'f'� z®i3k¯hTi3p ¬ q � xzp$q¢qti�cDx�v<n�m�kPw{qteg�Pwgnj}i3�Pegn'f¥i<�OqtcPi$f�n�e{p£mon'm�i3|t�3�V�3i<k£hTi3p ¬ q � xzp$q¥qti¯cDx�v<n�qti�moi�v<n�qtcPn'm x<|ti3kPpDh �9j}i<���¯qtcPn'm ��|ti3m �Dwgx3j}n�qri��Pw�x<jln����xzpVh¯�3i<k hTi3p ¬ q � x<p3q[qri��&n�j}i3pDf�qGxzp$qtwg�¯jl|tn5x�qre{pP�Ux<pDh hTn'f�qt|ri���e{pD� qrcPnlm��d­0i<egp$qtnl|Gf'�Ti<p�qtcDn�izqrcPnl|¥cVxzpDhI�&xz|rn ��kDf�q�xfte{pP�3w{n � i<|Gh¯iz�Omonlmoi<|r�7���U�$�$qrn'f[i3p m�i$f�q¥moiThTn'|tp�mUx<jGcPegpPn5f �}� � cPe�jGc�egf�w{e{qtn'|rx<w{wg��qrcPn�n'x3f�egn'f�q�xzpDh�moi$f�q¥nmUjle{n'p$q5$kDxzp$qre�q��Uqri�j}i3�$��x<|ti3kPpDhI�

« �¢�3i<k�cDx�v<n�x¯hPxzqrxzq��$�&n�qtcDxzq��<i<k � x<p3q�qti��&i<egp$q�qriD�I�3i<k�hPnlpPi<qtn�qtcPe�f�ft�$p$qGx<j�qregj'xzwgw{�����£�PkPq�qtegpP� xzpux<f�qtn'|te�f��� f�qrx<|0�¤xz�©qtnl|¥qtcPn�hPxzqrxzq��$�&n<�Twgeg�<n�qtcPe�f �_qp*D � F*r � I� F*r F8Y>_ p*D2O�D[Y `Rpi_qp*D[MRx[MPZ�PIXaB8`RZ���F?X � I� F?X F8Y>_ p*D2O�D[Y ` XqB8`PZ[`8XaD[MPZ��RI/¥i<qtn�qtcVx�q[pPnle{qtcDnl|[iz�KqtcPn5f�n§�&i<egp$qtnl|Gf¤cDx<fdx<p$�Uv�x<w{kPn3�®bdcPnl� 3 ,2& �Vi3e{p$qdqtiUx<p¯egp$qtnl�3nl|di<|[x�jGcDxz|Gx<j}qtn'|'�$�PkTq[qrcPnl�

hTi3p ¬ q�xzq®qtcDn[m�i3monlp$q'� �[n5jlxzwgw�qtcVx�qd~�hTi�n'fOpDizq®egpPe�qregx<w{e �ln�v�x<|te�xz�Dw{n5fl��I�x�qrnl|5� � n<¬ w{wDftnln[cDi � qri�mox<�<n¤qtcDn'ftn[v�x<|te�xz�Dw{n5f�&i<egp3qdqri qrcPegpP�3f'� #�f[xof�wgeg�<c$q¤v�x<|te�x�qre{i3p�i<p¯qtcDn§ft��p$qrx��I���<i3k � egw{w�v<nl|r�oiz�©qrnlp f�n'n�qrcPn�x<f�qtn'|te�f��UpDn}��qdqti�qtcPn§v�xz|re�xz�PwgnpDx<m�n§egpDf�qtn'x3h)iz��qrcPn�hPxzqrx�q����&n<�®bdc�kDf'��qtcPn�nl�Pxzmo�Pwgn§x<�Vi�v3n � e{wgwIiz�©qrnlp��Vn � |re{q�qtn'p x<f �_qp*D �qF*r � I� F*r F8Y>_ p*D2O�D[Y `Rpi_qp*D[MRx[MPZ�PIXaB8`RZ �qF?X � I� F?X F8Y>_ p*D2O�D[Y ` XqB8`PZ[`8XaD[MPZ��RI­0nl|Gfti<pDx<w{wg�<�$«¤jli<pDfte�hTnl|¤qtcDn ¨tf�qrxz|di3p¯qrcPn§v�xz|regx<�Pw{n5ª ft��p$qrx���qtio�Vn�i3wghDX f�q���w{n�xzpVh�pPn'n'hTwgn'frftw{��jli<pT��kVf�egpP�D�T�DkTq¥e�q¥e�f[egpj}i3mom�i3p kDftn<�6f�i¯«¢��n'nlw-i<�Pwgeg�<n'h)qri�qrnlwgwK�3i<k£xz�&i<kPq�e{q'�6e{p�jlx<ftn��3i<k ¬ |tn�|rn'x3hTegpP��fti<monli3pPn�nlw�f�n3¬ f�j}iThTn3�&i3|�xz|rn�x3f��3n'hqtiokDftn§qtcVx�q�f�q��$wgn§�����<i3kP|[nlmo�Pwgi��<n'|'�-« q�xzw�f�i�cDx3f[f�i3m�n�x3hTv�xzp$qrx<�<n5fl��x<f � e{qtc xowgegf�q[iz�0v�x<|te�xz�Dw{n5f �_qp*D r � ��Q � � �� n'|tn3� r x<pDh � xz|rn��&izqrc�e{p$qtn'�<n'|rf'�TxzpDh Q e�f¥x��Vi3e{p$qrnl|dqtiUx<p)egp$qtn'�<nl|5�

��� ��� � ����+� $ � � � � ��� � � ��$ � � $ �¡�kP�D�Vi$f�n � n§cDx�v<n§f�i3mon§hDx�qrxox<pDh�x �&i<egp$qtn'|dqtioqtcVx�q�hPxzqrxP�ObKio�<nln'�¯e{q�fte{mo�Pwgn<�Pwgn}qGf[kDftn§e{p$qtn'�<n'|rf �_qp*D r �_qp*D � FEr �

!un�xzwgw&�$pDi � cPi � qti mox<�<n r cDx�v3n�x�v�x<w{kPnP{ � cDx�q[xz�&i<kTq F*r �$# �Vi3e{p$qrnl|¤egf¤xzp�x3hPhT|rn'frfl��fti � n � xzp$q®qti �<egv<n FErqtcDn x<hDhT|tn5ftf¥iz�®xzp egp$qtnl�3nl|5� !�n�cVx�v<n�i<pDn�|teg�<c$q¥qrcPnl|rn<�&f�i�w{nlq'¬ f[qrx<�<n�qrcPn�x3hPhT|rn'frf[iz�Oe{q'�6EDi<|[qrcDx�q5� � n�pPn'n'h)qtcDno~¨tx3hPhT|rn'frf¤iz�tª�i<�&nl|Gx�qri<|5� � cPegjGc�e�f[xzp xzmo�&nl|Gftx<pDhI�ObdcPegpP��x<�Vi3kTq[qtcPn§��i3w{wgi � egpP� nl�Pxzmo�Pwgn �

� &

Page 34: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

pA:

A

E-eg�<kP|rn �P� � � #¥p x<|t|Gx��UxzpDh�x��Vi3e{p$qrnl|dqtiUe{qrf FV|rf�q¥nlwgnlmonlp$q

F*r�� �Gr ��aF*r � ��� IGIyr����aF*r � �aF*r � ] � IGIyr�Pr�c]_�t�� r ��� � � Z[MPDGU*ZPp DEZGU8M��

� bdcPn@FV|rf�q-wgegpPn[f�nlqrf F*r qti��Vn¤qtcDn¤x3hPhT|rn'frfKi<� r �zf�i�e{q0�&i<egp$qrfKqti�qtcDndfrxzmon¤monlmoi<|r��w{iTj'x�qtegi<p�qtcDxzq r jli<|r|tn5f��&i<pVhPfqtiD� � bdcDe{pP���Dx3jG��qti��3i<kP|�x3ftftnlm �Pwg��wgx<pP�<kVxz�<ndj}w�x<frf � e{q'¬ f�j}iThTn[wgeg�<ndqtcDegf®qtcDxzq®mox<�<n5f¢~y�&n�hTn5ftjl|teg�&n'hox<f�¨tcPeg�<cw{n'v<nlw x3ftftnlm �Pwg�Uwgx<pP�<kDx<�<n3� ª)�

� bdcPn�f�n5j}i3pDh)w{egpPn£¨rhTnl|rn}��n'|tn'pDj}n5ftª�qtcPn��Vi3e{p$qtn'| � e�q�ftx��Tf¤qtiUmUx<�<n§qtcDn�qtcPegpP���&i<egp$qtn5h)qtiU��� F*r n�5$kDxzwIqriV�T�¢« pizqtcDnl| � i<|GhPfl��e{q'¬ f[nlp$qre{|rnlwg��n�5$kPegv�xzwgnlp$qdqtioqrcPn�j}iThTn§egp¯qrcPn�j}i3mom�n'p$q'�

� bdcPn�qrcPe{|Gh�wgegpPn ��kDf�qo|tn'e{pT��i3|rjln'f�qtcPn)�Vi3e{p$qUxz�&i<kTqohTnl|rn}��n'|tn'pDj}egpP� � qtcPn �aFEr i<p�qtcPn�� � ¡�iz�[qrcPn)f�qrxzqtn'm�n'p$qm�n5xzpDfu¨�qtcPn¯qtcPegpP�uqtcVx�q F*r �Vi3e{p$qrf�qriD� ªyxzpDh fte{pDjln F*r e�fUhTn'jlwgx<|tn5hyqri��&i<egp$q�qriyxzp�egp$qtn'�<nl|5�OqrcDx�q�f�qrxz|r|rn'hn}�T�P|rn'frf�egi<p¯egf[x<p¯egp$qtnl�3nl|8� e{p)qtcDegf¥j'x<ftn<�A� ���

� bdcPn���i<kP|tqtc�wge{pPn � egwgwI�Vn§qr|tkPn�egp xzp���egmo�Pw{n'monlp$qrxzqtegi<p)iz��~ � ~ ��� ��¥x<|tn'w{� � egw{w � n � xzp$q�qti��&i<egp$q�qti�egp3qrnl�3nl|Gf{KqtcDxzq � x3f ��kDf�q���i<| � xz|rm�X:kP���U« p3qrnl�3nl|Gfl��xz�©qtn'|�xzwgw9�-xz|rnUf�mUxzwgwOwge{�3n

�&i<egp3qrnl|Gfl��fti�qtcPn'|tn3¬ f�pPi��P|ri<�Dw{n'm � e{qtc�jli<����e{pD��qtcPn'm xz|ri<kPpDh �-bdcPn�� x<j}q®qtcDxzq�qrcPn��P|rn'jln'hTegpP��jliThTn�e�f®�&i3frf�eg�Pwgn�hTi�n'fpPi<q¥m�n5xzp�xzp��<i3pPn§x<hTv3i�j'x�qrn'f¤e�q5� L¤w{i<q¥e�q[��|ri<m��3i<kP|dmonlmoi3|t�3� ��i<pDn�� -�i�iThI���� ���"! � ����+� $ � � � � ��� � �������¡�kP�D�Vi$f�n qtcDxzq � n cDx�v<n�xzp�x<|t|Gx��)iz��egp$qtnl�3nl|Gfl��~ mUx<�<n'f�qtcDn ��kDpDhPxzmon'p3qGxzwOj}i3mom�e{qtmon'p3q§qrcDx�q�xzpuxz|r|rx��)egf ��kDf�q�xftn�5$kPnlpVj}n¥i<�Ijli<pDftn'jlkTqtegv<n�m�n'moi<|r� wgiTjlx�qre{i3pDf:�9x<hPhT|rn'frftn'f0�OxzpDh�qrcDx�q¢qtcPn�pDxzmon�i<� xzp�xz|r|Gx���egf ��kDf�q�qrcPn FD|Gf�q�iz�6qtcDi3ftnx<hDhT|tn5ftftn'f'�-¡Te{pDjln[xzpox<hPhT|rn'frf0e�fOx��&i<egp$qtn'|'� � n FDpDh qtcVx�qOqtcDnd��i<wgw{i � egpP�§f�kP|r�P|regftegpP��x3ftfteg�<pPmonlp$q®jlx<p �&n[mUx<hTn3� � cPe�jGce�fde{wgw{kVf�qr|rxzqtn'h)egp$FD�<kP|rn �P� � �_qp*D n ��]���� �_qp*D � F n � n �

� N

Page 35: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

EPkD|�qrcPnl|rmoi<|rn<�¢qtcPn£�&i<egp$qtn'| F n xzpVh�qrcPn�x<|t|Gx�� n x<|tn3�¢egp ~��®��kDpDhPxzmon'p3qGxzwgw{� .78#�5=,��l#l�¥f�iy�3i<k jlx<p hTiyqtcDn��i<wgwgi � e{pP� �F n ��]�� � ���

« pDhTn'n'hI� F n e�f-x<p x<|t|Gx�� ��kDf�qOx<fKm�kDjGc�x<f n egf'�0~u�D|ti3�<|GxzmUfIiz�©qrnlp�qrxz�3n¢x3hTv�xzp$qrx<�<n�i<�TqtcPe�f�¨��PkDpDª�i3|L1P� * �=" #6#=&8<#=&21 /�# �qtcVx�q�x��Vi3e{p$qrnl|[e�fdqtcPn�frxzmon�x<f[x<p)x<|t|Gx��<�-« pDhTn'n'hI�T�3i<k�jlx<p�hPn'j}w�xz|rn§x v�x<|te�xz�Pwgn�x<f[x<p)x<|t|Gx��oiz�0pPionlwgnlmonlp$qrf �_qp*D u���� �_qp*D � V��bdcPn�v�xz|re�xz�Pwgn'f u x<pDh V cDx�v<n�qtcDn�ftx<m�n�hPxzqrxzq��$�&n �

��� ���"� � ����+� $ � � � � ��� ���4����� ��� � $ ��� �*�+��� � � � ���!� �¡�egpDj}nox¯�Vi3e{p$qtn'|�e�f�qtcPnUfrxzmon x3f�x<p�x<|t|Gx��<�&�<i3k�jlx<p£cDx�v<n�xzpuxz|r|rx��¯iz�¢x<|t|Gx��Tf¥�����PkTq�qre{pD��fti<mon i<pPn X hTegmonlpDftegi<pDx<wxz|r|Gx���f0egp$qti�x£¨tj}i3p$qrxzegpPn'|rª�x<|t|Gx��<� � nl|rn<¬ f�x��D|tegn}� nl�Tx<mo�Pw{n3� � cDnl|rn � n�x<j�qrkDxzwgwg��jl|tn5x�qtn�x ¨�qr|te�xzpP�3kPw�xz|Gª�x<|t|Gx��<� � cPnl|rnqtcDn FD|rf�q[|ti � cDx<f ��n'w{n'm�n'p$qrf'��qtcPn�ftn'jli<pDh�q � iUx<pDh¯qtcPn§qrcPe{|Gh¯i<pPn �_qp*D Z[Y�J ] � \�� � � ]�� �� \ � �_qp*D Z[Y�J � �� � � � � � � �_qp*D Z[Y�J8\ ��]�� � � � � �_qp*D XRY�p*D[`>_qp[MPZ���� � ��� �yZ[Y�J ]�� Z[YRJ ��'Z[YRJ8\ � �z®i<k � egw{wO|Gxz|rnlwg� j}|rn'x�qrn�x<pux<|t|Gx��)qtcPe�f � x��<� b¢���Pe�jlxzwgwg�<�IqrcPnUxz|r|rx���e�f§|tn5j�qrx<pP�<kDwgx<|'��« �¤e�q5¬ f�x�f�qrxzqte�j�x<|t|Gx��<�6�3i<k

� egw{w egpPe{qte�xzwge��'n�e�q¥wgeg�<n�qtcPe�f �_qp*D b?`RDEZ?_ar��<\�� � \�� � ���2]�� ���\ � � ��� � ��� � � � ����� ��� � ��� �#¥w{qtn'|tpVx�qtegv<n'w{�3�-qtcPn�xz|r|rx��6¬ f§nlwgnlmonlp$qGf � egw{w¤�&n)hT��pDx<moegj'xzwgw{�+j}i3m��DkTqtn5hy���u�3i<kP|�j}iThTn3�Oe{p � cDegjGc�j'x<ftn��<i3k ¬ w{w ��kDf�qhTn5j}w�xz|rn�qrcPn�xz|r|Gx���egp xof�egmo�Pw{n � x���xzpVh�wgn}q[qrcPn�j}iThTn�hTi�qrcPn�|tn5f�q �_qp*D b?`RDEZ?_ar��<\�� � \����t*YPZ�� _ �����_: G\��_��������

t*YPZ � ����� G\�� ��������b?`PDEZ?_qr��%_ � � �� � _��R\ � ��c]��

��

« p+nle{qtcPn'|�jlx3f�n3� �<i3kuj'xzp�qt|rn'xzq�qtcPn�x<|t|Gx�� x<f�x)q � i X hTe{mon'pDf�egi<pVxzwOf�qr|tkVj�qtkD|tnUxzpVh�pDizq�qtcDe{pP�uxz�&i<kTq�cDi � e{q�egf�|rnl�RX|rn'ftnlp$qtn5hI� ! cPegw{n¯�<i<k�¬ |rn�f�qre{wgw¤w{n5xz|rpPe{pD��qtcPn¯wgx<pP�<kDx<�<n3�KhTi3p ¬ q � i3|t|r��x<�Vi3kTq�qrcPn¯hTnlqrx<e{w�f�i<��xz|r|rx��£|rnl�D|tn5f�n'p3qGx�qre{i3p �I�xzqtn'|'� � cPn'p�e{q��Vn5j}i<mon5f�x<p�e�ftftkPn<� x3f � cPnlp��<i<kuxz|rn hT��pDx<moegj'xzwgw{�£x<w{wgiTjlx�qre{pD��q � i X hTe{mon'pDf�egi<pVxzwKx<|t|Gx��Tfl�&�<i3k�jlx<p|rnlv�e{n � qrcPegf'�

��� ����� � ����+� $ � � � � � ��������� ��� $ � �¡�egpDj}n�x<|t|Gx��Tf¢x<pDh)�Vi3e{p$qrnl|Gf[xz|rn�qrcPn�frxzmon<�Pxof�qt|re{pD��jlxzp)�&n�v$egn � n'h)i3|dqt|rn'x�qrn'h)x<f¥x��&i<egp$qtnl|¥qtioe�qGf FD|Gf�q�jGcVxz|Gx<j�qrnl|5�bdcPn'|tnl��i<|rn<�$qtcPn§��i3w{wgi � egpP�oegf¤qrcPn�f�qGxzpDhDxz|Gh � x��Uiz�OhTn'jlwgx<|tegpP�oxUf�qr|tegpP���Vi3e{p$qrnl|¥egp ~ �XaB8`RZ�� b>Q[WPDEZ2_qp*x �

# f�qt|re{pP��wge{qtnl|GxzwDcDx<f0qrcPn�hPxzqrxzq��$�&n[iz� XaB8`RZ�� �>x��&i<egp$qtnl|®qti�x�jGcDx<|rx3j�qrnl|5�zf�i��3i<kUjlx<p�egpPe{qte�xzwge��'n¥x�f�qr|tegpP��v�xz|re�xz�Pwgnwge{�3n�qrcPe�f �XaB8`RZ�� b>Q[WPDEZ2_qp*x � � ^GBc_PO _GOy` O�DEZ2_qp*x N8_aD[MRZ[`*N�K � �

bdcPe�f�e�f�nlp$qteg|rnlwg��xzpVxzwgi<�<i3kDf�qti�qrcPn�n'x<|twgegnl|�hTe�ftjlkDfrf�egi<p+iz�[xz|r|Gx���f§x<pDhu�Vi3e{p$qtn'|rf'�Kfti FD�3kP|tnH�D� � x<wgfti e{wgwgkDf�qr|rxzqtn5fqtcDegf¥jli<pDjlnl�Tq5�

� O

Page 36: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

��� ����� � ����+� $ � � � � ��� � � ���������x<|twgegnl|5� � n��D|tegn <D��mon'p3qre{i3pPn'h f�qr|tkVj�qrf'�-¡�qt|rkDj�qGf-x<|tn¤f�egmoe{w�xz|-qri�xz|r|Gx���f�e{p�qtcDxzqKqrcPnl� xz|rn¢j}i3mo�Vi$f�e{qtn¤hPx�qGx�f�qt|rkDj�qrkP|rn'f'�j}i3mo�P|te�fte{pP�om kPw�qre{�Dw{n�mon'm�i3|t�¯w{iTj'x�qtegi<pVfl��bdc�kDf'�Vx<|t|Gx��TfdxzpDh�f�qt|rkDj�qGf¥xz|rn§q����Pegj'xzwgw{��¨��Peg�3ª�qrcPe{pD�3f � qti�iU�Peg�UqtiU�Vx<frfqti)x���kDpDj�qre{i3p �§« q�e�f�� xz|�m�i3|tn n�m�j}egnlp$q�qti)�Dx<frf�x��Vi3e{p$qrnl|�qti�qrcPnoxz|r|rx��)i<|�f�qr|tkDj}qtkP|rn<� # �Vi3e{p$qrnl|�qti�xzp�x<|t|Gx���e�fl�� n<¬ v<n§w{n5xz|rpPn'h �Px�qr|tegv�egx<w6qtcPegpP�V�Df�egpDjln�qrcPn�pDx<m�n§i<�KqrcPn�xz|r|rx��oe�f[n�5$kPegv�xzwgnlp$qdqtiUxo�&i<egp3qrnl|5�#>�&i<egp$qtn'|�qri x�f�qt|rkDj}qtkP|rn¥e�f�pPi<q 5$kPe{qtn§f�i�qt|re{v�e�xzw:�3�PkPq¤e�f¢f�qtegwgw&pDizq�qri�i�cDx<|rhI��xzpVhUe�q¤egf¢i<pDn�iz�IqrcPn��P|tegmUxz|r� � x��TfqtcVx�q��&i<egp$qtnl|Gf¥x<|tn�kDftn'h�egp�~ xzpDh�~������ I�n}q'¬ f¥egmUxz�3e{pPn§qrcDx�q � n � xzp$q[qri�hTnGFVpPn�xzp i3����n'j}q�jlx<w{wgn'h�¨rf�qrkDhTnlp$qGª�qtcDxzqj}i3mo�P|te�ftn'fdf�n'v<n'|rx<w6hPegft�Dxz|Gx�qrn§�Pe{n5j}n5fdiz�KegpT��i3|tmUx�qre{i3p � � n'|tn§e�fdcPi � � n�moe{�3c$q[hPi�e{q�egp)�$x�v�x �FEU �8N8_GXyXPNG`[OEO WPDGU[T*M�p*D��

FEU �>N8_GX WPDGZ?_qp*xyp8`ab2M��FEU �>N8_GX _qpED OaB[YEMEW>_ �EM��FEU �>N8_GX t[NPYE`PD xGF8`��

FEU �>N8_GXyO�D*`PD?_GX�[Y>_aT�b?`>_qp � WPDGZ?_qp*x�� �y`PZEx2O����WPDPU[T*MRp*D �8`PZED �yp8MRJ WPDGU[T*M�p*D � ����8`RZED K+p8`qb?M�� �u8`PZED W8_�b8F?ORY�p�����8`RZED K<xGF[`�� ��K��Gt � IGI � t�� �[M8XR`RU?O�M t[NGYE`RD � p8YPD T*YRU �8NGMWPDPU[T*MRp*D N8_GOR` �yp8MRJ WPDGU[T*M�p*D � ���N8_POR`CK+p8`qb?M�� � �2_GOR`yW8_�b8F?ORY�p����N8_POR`CK<xGF[`�� ��K��Gt �

��

� n'|tn�egf¢cPi � � n�moeg�<c$q¤hPi e{q¤egp�~��$kDfte{pD� �&i<egp$qtnl|Gf¤xzpDh�x�w{eg�P|Gxz|r����kPpDj�qre{i3p¯j'xzwgw{n5h b?`ENENGY8X qrcDx�q � n � egw{wIhTe�ftjlkDfrffti$i3p �6�9¡Tn'j�qre{i3p<�D� � �D�6�Dxz�3n � � ���;EDi<|§pPi � �6�<i3k�j'xzp qrcPe{pD�£iz��e{q�x<f�xzpDx<w{i3�<i3kDf[qri)�$x�v�xP¬ f�¨tpPn � ª�i<�&nl|Gx�qti3|'� � cPe�jGchTi�n'ftp ¬ q¥n}�Te�f�q[egp£~��O�DEZPU?X�D WPDGU*T*MRp*D �

XaB[`PZ���p8`ab?M��_qpED OaB[YEMEW>_ �EM��t[NPYE`PD xGF8`��

� �

_qp*D b?`8_qp � � �O�DGZGU?X�D WPDPU[T*MRp*D � �8`PZED � �O�DEZGU2X�D WPDGU[TEMRp*D���� b?`*NENPY8X��O*_�*MEYGt���O�DEZPU2X�D WPDGU[T*M�p*D � ���O�DGZGU?X�D WPDPU[T*MRp*D � N8_GOR` � �O�DEZGU2X�D WPDGU[TEMRp*D���� b?`*NENPY8X��O*_�*MEYGt���O�DEZPU2X�D WPDGU[T*M�p*D � ����8`RZED � ��p[`ab?M�� �u8`PZGD W>_�b8F?O�YRp�����8`RZED � �RxPF8`����CK����N8_POR` � ��p[`ab?M�� � �2_GO�`yW>_�b8F?O�YRp����N8_POR` � �RxPF8`�� � K����

~¢i<p$qr|rx3f�q[qrcPegf�qri�qtcDn n5xz|rw{egnl|�n}�Pxzmo�Pwgn�iz��qtcPn F[Y>_qp*D f�qt|rkDj�q5� /�izqregjln�qtcVx�q�qtcPn�monlm��&nl|Gf�iz�OqtcDn f�qt|rkDj�qrkP|tn�xz|rnx<j'j}n5ftftn'h�kDf�egpP�oqrcPn ~�¨rxz|r|ti � i3�Vn'|rxzqti<|5� ª � cPe�jGc)egf ��kVf�q�x�c����PcPnlp)��i3w{wgi � n5h�����xo�3|tn5x�qtn'| X:qtcVxzp ��8`PZGD � �RxGF[`�� ��K����!un�kDftn�qrcPn x<|t|ri � ft��p$qrx���egp+~ xzp��)qtegmon � n�cDx�v3n�xU�&i<egp3qrnl|�qti�x¯f�qr|tkVj�qtkD|tn�x<pDh � n x<|tn�x3jljln'frf�egpP��xzp�nlwgnlmonlp$q'�z®i<k�¬ wgw pPi<qte�j}n�qtcDxzq¥i<p¯qtcPn��D|tn5j}n'hPe{pP�owge{pDn<� � n�hTn'jlwgx<|tn5h �8`PZED qtiU�&n�x �&i<egp$qtn'|dqtiUxUf�qrkDhTn'p3q5�PpPi<q[xof�qtkDhPnlp$q �O�DEZPU?X�D WPDGU*T*MRp*D����8`PZED � �O�DEZGU2X�D WPDGU[TEMRp*D�����b?`*NENGY[X��O*_ �EMEYGt��OaDGZGU?XqD WPDGU[T*M�p*D � ���

bdcPndn}�Px<m��Dw{n¥jli�hPn¤�3e{v3n'f0kDf®�Vi3e{p$qtn'|rf-qri�f�qr|tkDj}qtkP|rn'f'� � cPe�jGcUxz|rn¤qtcPn'p�n5x<fte{n'|0qti§�Dx3ftfOx<|ti3kPpDh e��6�<i3k�ftcPi<kDwgh � xzp$qqtiUhTioftiD� � � i � n'v<nl|5�$e��-�<i<k�¬ |rn�pDizqd�<i<egpP� qti��Dx<frfdf�qr|tkVj�qtkD|tn5f¤x<|ti3kPpDhI�Tx<pDh��3i<k¯�P|tnl��nl|¤qtcDn§ft��p$qrx��Ui<��qtcDn��D|tn'v$egi<kVf¨��&i<egp$qrª�n}�Px<m��Dw{n3����nlnlw ��|tn'n<� �

� P

Page 37: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

bdcPn'|tn�x<|tn�q � iUmUxzegp�hTe M&n'|tn'pDj}n5f¥�&n}q � nln'p�qtcPn�¨t­0i<egp$qrª�n}�Px<m��Dw{n � �Dx<jG�)egp£f�n5j�qtegi<p �D� � � i<p �Dx<�<n � % �[x<pDh)qtcDn¨r¡�qtkDhTn'p$qrªUnl�Tx<mo�Pw{n���|ti3m�qrcPegf�ftn'j�qre{i3p � cPi � qtcPn v�x<|te�xz�Dw{n5f¥xz|rn�hTn'jlwgx<|tn5h xzpDh�egpPe{qte�xzwge��'n'hI�6xzpVh cPi � qtcPn nlwgnlmonlp$qrfxz|rn�x<j'j}n'frftn'hI� /¥i<q�f�kP|r�P|regftegpP�<wg�<�$qtcDn'ftn�xz|rn�qre{�3c3qrw{�¯|tn'wgxzqtn5hI�

� « p�qrcPny¨t­0i3e{p$qrª¯n}�Px<m��Dw{n3� qtcDnUv�x<|te�xz�Dw{n5f�x<|tnUhTn5j}w�xz|rn'h£qti �&n�f�qr|tkDj}qrf'��fti � n�hTi3p ¬ q�pDnln'h�qti£hPi ¨tpPn � ª�x<p$�m�i3|tn¥qtcDx<p � n�cDx�v3n[qti�kDftn�¨�pDn � ª � e{qtc¯e{p$qGf�i3| <Di$x�qGfl� �®wgnlmonlp$qGf�i<�Kf�kVjGc�f�qr|tkVj�qrf¤xz|rn�x3jljln'frf�n5h�qtcP|ri<kP�3cUqtcDnv�x<|te�xz�Dw{n����,��kDf�q�kDfte{pP�Ux�1R��9�

� « p�qtcDn)¨G¡$qtkVhTnlp$qrª n}�Px<m��Dw{n3�3qrcPn�v�x<|te�xz�Dw{n5f¢x<|tn§hTn'jlwgx<|tn5hoqti��&n6)8� $'&>+#=/%5�+� f�qr|tkVj�qrf'�ObdcPe�f¢mon5xzpDf � n�cDx�v3n¥qrikDf�n b?`ENENGY8X ��qtcPn�~�xzpVxzwgi<��iz�-�3x�v�xP¬ f p8MRJ i<�&nl|Gx�qti3| �>ftnln¥ftn'j�qre{i3pT�P� � � �0qri�egpPe�qregx<w{e �ln�qtcDn�v�xz|regx<�Pwgn<� �®wgnlmonlp$qGfiz�[f�kDjGcyf�qt|rkDj�qGf�xz|rn�x<j'j}n5ftftn'h�qtcP|ri<kD�<c�qtcPn�v�x<|te�xz�PwgnU���£qrcPn7, / /���:�pPizqGx�qtegi<p��VEPi3|�moi<|rnoe{pT��i3|tmUxzqtegi<p �-f�n'nf�n5j�qtegi<p �P� � � ���Vxz�<n � &2���

« �V�3i<k ¬ |rn¢j}i3mo�Dxz|re{pD��qrcPn[f���p$qrxz��x<pDh�f�n'mox<p$qte�jlf-iz�&�P|ti3�<|Gxzmomoe{pD�¥wgx<pP�<kVxz�<n5fl�5qrcPnl|rn<¬ f0xzp�e{p$qtn'|tn5f�qre{pD��hTe�frj}i<pDpPn'j}qtegi<pcPn'|tn3���$x�v�x��&i<|r|ti � n'h qtcPny¨rhTizqGª¯ft��p3qGx��£��i3|�x<jljln'frf�egpP�)monlm��&nl|Gf§iz�dx�j}w�x<frf � e{pVf�qGxzpDjln�v�x<|te�xz�Pwgn'f§x<pDh�monlqtcPiThPf0����PkTqUqrcPn f�n'mUxzp$qte�jlfoi<��e{qrfov�xz|regx<�Pwgn'foxz|rn¯moi3|tn)w{eg�<n)qrcPn ¨r¡$qrkDhTn'p3qGªun}�Pxzmo�Pwgn<� � cPegjGc kDftn'f qtcDn ¨txz|r|ri � ª£f���p$qrxz�I�bdcPno¡$qtkDhPnlp$q�nl�Tx<mo�Pw{n�x<j}qtkDx<w{wg�¯moegmoegjG�Tf��$x�v�xP¬ f�ftnlmUxzp$qregj'f¥�&n}q�qrnl|5��¡�n'n ftn'j}qtegi<p �P� � �� �Dxz�3n � � �[x<pDh£ftn'j�qre{i3p �T� ����Vxz�<n;� � ���

z®i<kuxzw�f�i)pPi<qte�j}n'h£qtcDxzq§qtcPnU�$x�v�x¯j}iThTnohTn'jlwgx<|tn5h qrcPnoe{pDf�qrx<pDj}n�v�xz|regx<�Pwgn'f�qti)�Vno�PkP�Dw{e�jz�IqrcPi<kD�<c+f�kDjGc�kDfrxz�<n egf��|ri � pPn'h¯kP�&i<p�e{p � � ­s�&n'jlx<kDftn�j}wge{n'p3qGf¥ftcPi<kPw�h¯�<i�qtcP|ri<kD�<c)�<i<kD|[m�nlqtcPiTh�egp$qtnl|t� x<jln<� z®i3k)�D|ti3�Dxz�Pwg� � nl|rn�qGxzkP�3c$qqtiUhTn FDpPn§qrcPn�j}w�x<frf¤qtc�kDf �FEU �8N8_GXyXPNG`[OEO WPDGU[T*M�p*D ��

F*Z2_[`PD[MyWRDEZ?_qp*x�p[`ab?M��F*Z2_[`PD[M _ p*D OaB8YEMEW8_ �*M��F*Z2_[`PD[M�t*NGYE`PD xGF8`��

FEU �>N8_GX [Y8_�T ORMPD � `qb?M���WPDEZ2_qp*x�p8`ab2M ���DGB?_GO K+p8`qb?M��yp8`ab?M��

FEU �>N8_GX [Y8_�T ORMPD��� n � t[NGYE`RD xPF8` ���DGB?_GO K<xGF[`�� xPF8`��

FEU �>N8_GXyO�D*`PD?_GX�[Y>_aT�b?`>_qp � WPDGZ?_qp*x�� �y`PZEx2O����WPDPU[T*MRp*D ��8`PZED �yp8MRJ WPDGU*T*MRp*D � ����8`RZED K%ORMRD � `ab?M ��u[`RZED W>_�b8F?O�YRp�������8`RZED K%ORMRD��� n � �CK��Pt ���WPDPU[T*MRp*D yN8_GOR` �yp8MRJ WPDGU*T*MRp*D � ���N8_POR`CK%ORMRD � `ab?M �� �>_POR`�W>_�b8F?O�YRp������N8_POR`CK%ORMRD��� n ��� K��Pt ���

��

!un�j'xzp �6iz��jli<kP|Gftn<�6hTnGFDpDn�x<pDh£kDftn ftkDjGcuxzp£egp$qtnl|t� x<jln�egp+~���/¥i<qte�j}n�qtcPn�kDftn i<�®�Vi3e{p$qtn'|rf�egp��Dx3ftfte{pD�¯x�f�qt|rkDj}qqtiux���kPpDj}qtegi<p � � ��j}i3kP|rftn<� � n � egw{w¤pDxzmon�i3kP|�egp$qtn'|�� x3j}nU��kPpVj�qtegi<pVf x��Pe�qohTe M&n'|tn'p3qrw{�3�O�PkTq qtcPi$f�n)hTeYM6nl|rnlpVj}n'f xz|rn�P|re{mUx<|tegw{�¯j}i3ftmon}qregj<�O�DEZPU?X�D WPDGU*T*MRp*D �

XaB[`PZ���p8`ab?M��_qpED OaB[YEMEW>_ �EM��t[NPYE`PD xGF8`��

� �

[Y>_aT WRDGU[T*MRpED�[ORMPD � `ab?M��'O�DGZGU?X�D WPDPU[T*MRp*D �y_aD � XaB8`PZ � p8`ab?M ���

� �

Page 38: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

_aD7� ��p8`ab2M � p8`qb?M���

[Y>_aT WRDGU[T*MRpED�[ORMPD���� n �'O�DEZPU?X�D WPDGU*T*MRp*D�� _qD � t[NGYE`PD xGF[` ���_aD7� �RxGF8` � xGF8`��

_qp*D b?`8_qp � � �O�DGZGU?X�D WPDPU[T*MRp*D � �8`PZED � �O�DEZGU2X�D WPDGU[TEMRp*D���� b?`*NENPY8X��O*_�*MEYGt���O�DEZPU2X�D WPDGU[T*M�p*D � ���O�DGZGU?X�D WPDPU[T*MRp*D � N8_GOR` � �O�DEZGU2X�D WPDGU[TEMRp*D���� b?`*NENPY8X��O*_�*MEYGt���O�DEZPU2X�D WPDGU[T*M�p*D � ���WPDPU[T*MRp*D [ORMPD � `ab?M����*`PZGD � ��u8`PZED W>_�b[F?ORYRp�� ���WPDPU[T*MRp*D [ORMPD� � n ���8`�ZED � �CK�� ���WPDPU[T*MRp*D [ORMPD � `ab?M���N*_GO�`�� � �2_GOR` W>_�b[F?ORYRp�� ���WPDPU[T*MRp*D [ORMPD� � n ��N8_ROR`�� � K�� ���

� i � nlv3nl|5�Kegp�~�� � n)j'xzp ¬ q �D|ti<qtn'j}q qrcPn)m�n'm��&nl|Gf�i<��x�f�qt|rkDj}q����yhTn'jlwgx<|tegpP��qtcPn'm qti��&n��P|re{v�x�qrn<� W n'm��&nl|Gfiz�dx¯f�qt|rkDj}q�x<|tn ��egmo�Pwgegjle�qrw{� ���PkP�Dw{e�jz��x<pDh � nojlx<p ¬ q�jGcDx<pP�<n�qtcDxzq'� � � i � n'v<nl|5��~ ��� x<w{wgi � f§f�qr|tkVj�q�monlm��&nl|Gf�qti��&nhTn5j}w�xz|rn'h)�P|re{v�x�qrn<� ��bdc�kDf'�De{q'¬ f¥�&i3frf�eg�Pwgn§��i<|�xUjlw{egnlp$q¥qri������Dx<frfd�<i3kP|¥egp3qrnl|t� x<jln�xzpDh)mon'frf � e{qtc�qrcPn�|rnl�P|rn'ftnlp$qrxzqtegi<piz�0�<i3kP|[f�qr|tkVj�qrf'��~ � x<fdegp�v<n'p3qrn'h¯�Dx<jG� � cDnlp��P|ri<�<|Gxzmomonl|Gf � n'|tn�j}i3pDfteghTn'|tn5hUqr|tkDf�q � i<|tqtc�� H ��� ���� ����� � � ���� ��� � $���$! bdcPn ft�$p$qGx���egp�qrcPn �P|rnlv�egi<kDfu¨r¡�qtkDhTn'p$qrª+xzpDh ¨t­0i3e{p$qGª£n}�Px<m��Dw{n5f � x3f v3nl|r��j}kPm �Vn'|rfti<mon � qrcPnl|rn � x3foj}i<pVf�qGxzp$q|rnl�&n}qte{qtegi<p¯iz� OaDEZGU?X�D WRDGU[T*MRpED i<| O�DGZGU?X�D �[Y8_qp*D �KbdcPe�fdjlx<p��&n�f�qt|rn'x<m�wgegpPn'hU���UkDftegpP� DEQGF8MPT*MGt qri�hPnGFDpPn§x�pDn � ��)[#l�P�Dx<|rx<w{wgnlw&qtiU�DkPe{w{q X egp¯q����&n'f[wgeg�<n _qpED i3| XaB[`PZ �/¥i<qtn§qrcDx�q¥qrcPe�f¥e�f�xzpDizqtcDnl|¥�Pw�x<jln � cPnl|rn��$x�v�x �9xzpDh�~���� �[cDx�v<n�egmo�P|ti�v3n'h¯kP�&i<p�~��VbdcDi3ftn�wgx<pP�<kDx<�<n5f[j}|rn'x�qrn�x

pPn � q����&n � cDnlpPn'v<nl|¥xojlwgx3ftfde�f[hTnGFVpPn'hI�¤¡�iD�Pxo�$x�v�x�hTn FDpPe{qtegi<p�w{eg�<n �XPNG`[OEO��EQ[W>_RNGNRQ*V[NG`[OEO �

KEKEK�

egm�mon5hTegxzqtn'w{�)xzpDh)xzkTqri<mUx�qregj'xzwgw{�¯xzwgw{i � f¢qtcDn�kDf�n§i<�KqrcPn�pDxzmon�x<f¤qrcPn§q����Vn�i<�0x�v�xz|re�xz�Pwgn ��EQ[W8_RNENRQ*V*NG`8OEO Z[YGT*MRpED2O �

bdcPe�f§egftp ¬ q�qtcPn�j'x<ftnoe{p�~�� � i � n'v<nl|5�Ie{q'¬ f��Vi$ftfteg�Pw{noqri�kDf�n DEQGF8MGTEMGt qti�mUxz�3noe�q�pPn5xz|rw{��x<f§n'x3f��3� !�n�j'xzpukDftnq����Vn5hTn}�-qtiUegmo�P|ri�v<n�qtcPn ¨G¡$qtkDhPnlp$qrª�n}�Px<m��Dw{n3�Px<f¤��i<wgwgi � f �DEQGF[MGT*MGt O�DGZGU?X�D �

XaB[`PZ���p8`ab?M��_qpED OaB[YEMEW>_ �EM��t[NPYE`PD xGF8`��

� WPDGU[T*M�p*D �

DEQGF[MGT*MGt WPDPU[T*MRp*D ��F8WPDGU*T*MRp*D �

[Y>_aT WRDGU[T*MRpED�[ORMPD � `ab?M���F8WRDGU[T*MRpED _aD � XaB8`PZ � p8`ab?M ���_aD7� ��p8`ab2M � p8`qb?M��

[Y>_aT WRDGU[T*MRpED�[ORMPD���� n ��F8WPDPU[T*MRp*D _qD � t[NGYE`PDyxPF8` ���_aD7� �RxGF8` � xGF8`��

� �

Page 39: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

_qp*D b?`8_qp � � �F8WRDGU[T*MRpED��8`PZED � �SF8WPDGU*T*MRp*D � b?`*NENPY8X��O*_�*MEYGt���WPDGU*TEM�p*D � ���F8WRDGU[T*MRpED N8_GOR` � �SF8WPDGU*T*MRp*D � b?`*NENPY8X��O*_�*MEYGt���WPDGU*TEM�p*D � ���WPDPU[T*MRp*D [ORMPD � `ab?M����*`PZGD � ��u8`PZED W>_�b[F?ORYRp�� ���WPDPU[T*MRp*D [ORMPD� � n ���8`�ZED � �CK�� ���WPDPU[T*MRp*D [ORMPD � `ab?M���N*_GO�`�� � �2_GOR` W>_�b[F?ORYRp�� ���WPDPU[T*MRp*D [ORMPD� � n ��N8_ROR`�� � K�� ���

d ��� v � � ��� � � � � ����� � ��� k« p��3x�v�xP� � n j}|rn'xzqtn)pPn � i<����n5j�qGf kVf�egpP�uqtcPn p8MRJ i<�&nl|Gx�qri<|5� #¥moi<pD��i<qtcPn'|oqtcPegpP�3f'� � cVx�q p8M�J hPi$n5f�egfUx<w{wgiTjlx�qrnmonlmoi<|r�¯��|ti3m xU�Dwgx3j}n�j'xzwgw{n5h�¨�qtcDn�cPn5xz� � ª « p�~��Vmonlmoi3|t�)egf�xzwgw{iTj'x�qtn5h�kDfte{pP�¯xUw{eg�P|Gxz|r����kPpVj�qtegi<p�jlxzwgwgn'h b?`*NGNGY8X �« pU�3x�v�xD� � n¥hPi<p ¬ q®cDx�v<n¤qri � i3|t|r��xz�&i<kTq®|rn}qrkP|rpPe{pD�§f�qti3|rx<�<n � cPn'p � n<¬ |rndhPi<pPn � e{qtc�x<p i3����n'j}q'�<�&n'j'xzkDftn¥�$x�v�x�e�fOcDx3f�3x<|t�Vxz�<n�jli<wgw{n5j�qtegi<p��P�PkTq�e{p�~�� � n�cVx�v<n�qti�mUx<pDxz�3n�i<kP|¥i � p f�qti3|rx<�<n<�D|tn5j}�Tj}wge{pD�Ui<����n5j�qrf � cPnlp�qrcPnl�6¬ |tn�pDiUw{i3pP�<n'|egp)kVf�n3�

bdcPn b2`*NENGY8X ��kPpDj}qtegi<p¯|tnlqtkP|rpDf¤x�)8� $'&8<#=/§qti�qrcPn§xzwgw{iTjlxzqtn5hom�n'moi<|r�<�Tf�i�qtcPn�|tn5f�kDw�q¤m�kDf�qdx<w � x��TfO�&n�f�qti3|tn5hUe{p¯x�&i<egp3qrnl|dv�xz|regx<�Pwgn<� �9¡�n'n§ftn'j}qtegi<p$�P� � �P��xz�&i�v<n3� � #¥w�ftiD���Vn5jlx<kDf�n b?`*NGNGY8X hTi�n'ftp ¬ q[��pPi � � cDxzq[�$egpDh�iz�Ki3����n'j}q¤e�f¤�Vn'e{pD�j}|rn'xzqtn5hI�<e{q ��kDf�q¢|rn}qrkP|tpVf®xzpUi3����n'j}q�iz�&q����Vn *Y>_�T � � x��Vi3e{p$qrnl|®qri�v<i3eghoe�f�x�~�e�hTe{i3m�qrcDx�q¢m�n5xzpDf¢x§�Vi3e{p$qrnl|®qri�fti<monkPpP��pPi � p jGc�kPpP��iz�Omonlmoi<|r�<��bdc�kDf'�P�3i<k�f�cPi3kPw�h)x<w � x��Tf 3 ,�5� �9f�n'n�ftn'j�qre{i3p$�D� %D� �oi3p)�Vxz�<n �QP �¢qtcDn�|tn5f�kDw�q¥i<�0xojlx<w{wqti b?`*NENPY8X qri qrcPn�j}i3|t|rn'j}q¤�&i<egp$qtn'|[q����Vn§�&n}��i<|rn�f�qti<|regpP� e{q¥egp¯qrcPn��&i<egp3qrnl|[v�xz|re�xz�Pwgn<�

¦¥pDw{eg�<n p8MRJ � � cPegjGc qrx<�<n5f-qtcPn[pDx<mon[iz�&x�q����&n¥x<f0e{qrfOx<|t�3kPmonlp$q'� b?`*NENGY[X[� xzp$qrfOx & **� �%#=/=� cPi � mox<p������3qrn'f-qrixzwgwgi�j'x�qrn<� EPi3|�qrkPpDx�qrnlwg�<��qrcPnl|rn§egf[x��PkPegw{q X e{p¯��kPpDj}qtegi<p jlx<w{wgn'h O*_�*MEYGt qtcDxzq¤qGxz�3n'fdx q��$�&n§pDxzmon�xzpVh�|rn}qrkP|tpVf¤qtcPn�fte��'niz�OqrcPn�i<����n5j�q�egp����$qtn5fl��¡�kP�D�Vi$f�n � n � x<p3qrn'h�qri)x<w{wgiTjlxzqtn�ft�Dx<jln�qri¯f�qti<|rn�x<p�egp3qrnl�3nl|5��� bdcDegf � i<kPw�h �&n�|rnlw�x�qtegv<n'w{�|Gxz|rn<���PkTq�jli<kPw�h)cDxz�P�&nlp�� � !un � i3kPwgh)hTioqrcPn§��i<wgw{i � egpP� �_qp*D � FEr � � _qp*D ��� b?`*NENPY8X�� O*_ �EMEYGt�� _ p*D ��� �

! cDxzq[qtcPe�f[�Pe �'x<|t|rnGX w{i�i3�$egpP��f�qGx�qtn'monlp$q¥ftx��Tfde�f¤qtcDxzq FEr egf¥x��&i<egp$qtnl|dqri�xzp)e{p$qrnl�<n'|¥xzpDh¯e{q � e{wgw �&i<egp3q[qri�qtcPn�|rn'ftkPw{qiz��qtcPnUjlx<w{wKqti b?`*NGNGY8X � � e{qtc�qtcDn�q����&n��D|ti3�Vn'|twg� jlx<f�q'��bdcDn b?`*NENPY8X ��kPpDj}qtegi<pucDx<f��Vn'nlp+x<ft�<n5h�qti)|tnlqtkP|rp�n'pPi<kD�<cft�Dx<jln�qriUf�qri<|rn�i3pPn§e{p$qrnl�<n'|'�

��� ��� � ����� �0������ �+� � �(��� �

« p+�P|Gx<j�qregjln<� �3i<k�q��$�Degj'xzwgw{�£kVf�nUhT��pDx<m�e�jomonlmoi<|r�£xzwgwgi�j'x�qre{i3p���i3|�f�qr|tkDj}qtkP|rn'f§x<pDh�x<|t|Gx��Tfl��b�i jl|tn5x�qtnUx WPDGU*T*MRp*Df�qt|rkDj�qrkP|tn �9f�n'n§qtcPn�nl�Tx<mo�Pw{n5f¤e{p ftn'j�qre{i3p �P� �Q� �Tx<�Vi�v3n���� � n�hTi�qtcPn§��i3w{wgi � egpP� �WPDPU[T*MRp*D � F8Y>_qp[TEMPrED[MPZ�� ��WPDGU[T*M�p*D���� b2`*NENGY8X �O*_ �*MGYGt��%W�DGU[TEM�pED � ���

EP|ri<m pPi � i3p ���3i<k+jlxzpukDftn�qtcPn�mon'm�i3|t� �&i<egp$qtn5h�qri ��� F8Y8_qp[T*MPrGD[MPZ ��kDf�q�x3f§�<i3k � i<kPw�h+xzp��£�&i<egp$qtnl|§qri xf�qt|rkDj�qrkP|tn �

F8Y>_qp*T*MPrED[MRZ � ��p8`qb?M � � �PU[tEtGQ��8YRZEDGBc_qpExED[YRp�� �

��� ���"! � ��$ $ ���� � �(��� $

¦¥pDw{eg�<n��$x�v�xP�&~>egf¥pPizq�xo�$xz|r�Dxz�3nGX j}i3w{wgn'j}qtn'h�wgx<pP�<kDx<�<n3�Pf�i�x<p)e�hTn5xzw �P|ri<�3|rx<m m�kDf�q�x<w � x��Tf¢|rn}qrkP|rp¯qrioqtcPn�cPn'x<��x<w{wqtcDn monlmoi3|t��e{q�x<w{wgiTjlxzqtn'f'��bdcPe�f�e�f�pPizq§e{mo�&i<|tqrx<p3q���i<|��P|ri<�3|rx<mof¥qtcDxzq � egwgw-|rkPp��P|tegn <V��x<pDh£nl�Te�q§�Vnl��i<|rn mon'm�i3|t�e�f�nl��cVxzkDf�qtn5hI�D�PkPq���i3|�wgi<pP�QX:|rkPpPpPegpP�U�P|ri<�3|rx<mUf � ftkDjGc�x<f�f�n'|tv3nl|¥hTn'moi<pDf0���6monlmoi<|r��m kDf�q��&n jlx<|tnl��kPwgw{�)mUxzpDx<�<n'h �W n'm�i3|t�Ue�f¤|tnlqtkP|rpPn5hUqti qtcDn�cDn'xz�¯kDfte{pP� qtcDn tGZ[MEM ��kPpDj�qre{i3p �TcDx<pDhTegpP� e{qdqtcPn�frxzmon��Vi3e{p$qtn'|d�<i<k¯�<i<q���|ri<m b?`*NGNGY8X �

tGZ*MEM��SF8Y8_qp[T*MPrGD[MPZ ���

�Q�

Page 40: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

A[0]

A[1]

A[2]

A[3]

E-eg�<kP|rn �P� � � #¥p x<|t|Gx��oiz�§¨r¡$qrkDhTnlp$qGª i3����n'j}qrf

��� ���"� � ����� �0������ � � �������¡�egpDj}n�xz|r|rx��TfOx<|tn ��kVf�q[j}i3pDf�n5j}kTqre{v3n¥monlmoi<|r��w{iTjlxzqtegi<pDf'�3x<w{wgiTjlxzqtegpP��xzp¯xz|r|rx���xzq¢|rkPpDX:qtegmon�e�f®� x<e{|rw{�of�qt|Gxzeg�<c$q���i3| � xz|GhI�¡�kP�D�Vi$f�n[qrcDx�qdxzpUegp$q�qrx<�<n5f ��$�$qrn'f®i<��f�qri<|Gxz�3nR{�qrcPnlp�x<p�xz|r|rx���iz� �UP egp$qrf � i3kPwgh�qGxz�3n �UP ¯���$qtn5f®iz� f�qti3|rx<�<n<�-bdc�kDfl�qtiUx<w{wgiTjlx�qrn�x<p)x<|t|Gx��oiz�-qtcPegpP�$fl� � n ��kDf�q�x3f��o��i3|dqtcPn§�P|ri<�&nl|[p�kPm �Vn'|[iz�-�$�$qrn'f'� � nl|rn<¬ f[xzp)n}�Pxzmo�Pwgn�qtcDxzq¥xzwgw{iTjlxzqtn5fxzp�xz|r|Gx��Uiz�Kegp$qrf �_qp*D � n � � _qp*D�� � b?`*NENGY[X��Sp �EOE_ �*MEYGt�� _ p*D�� ���/¥i<qtn[qrcDx�q � n[m kDf�q¢kDf�n _ p*D�� egpoqtcPn¥q��$�&n�j'x<f�qtegpP�8{$�<i3koj'xzp ¬ q�jlx3f�q¤f�i3m�nlqtcPegpP�§qri��Vn�xzpUxz|r|rx��3�znlv3nlp�qtcDi<kP�3c�xz|r|rx��TfxzpVh��&i<egp$qtnl|Gf[xz|rn�qtcPn�frxzmon3�

¡�egmoe{w�xz|rw{�3�&qti xzwgw{iTj'x�qtn�xzpuxz|r|rx��)iz��¨rf�qrkDhTn'p3qGfl� ª � nojlx<p�hTi¯qtcDn���i3w{wgi � e{pD�D�;E-e{�3kP|rn��D� � f�cPi � f � cDxzq�qrcPnUhPx�qGxf�qt|rkDj�qrkP|tn§wgi�i<�Tfdw{eg�<n3�WPDGU*T*MRp*D�� u� �%WPDGU[TEMRp*D���� b?`*NENPY8X��Sp �GO*_ �*MEYPt���WPDPU*T*M�p*D � � �

/¥i<qtn�qtcDxzq¤xzp¯xz|r|rx�� iz��f�qt|rkDj�qrkP|tn5f®e�f¢hPeYM6nl|rnlp$q���|ri<m x<p�xz|r|rx�� iz� �&i<egp$qtnl|GfOqri f�qt|rkDj�qrkP|rn'f'�0bKi�hTi�qtcDxzq'� � n<¬ hUkDftnqtcDn§��i<wgw{i � egpP�Uj}iThTnP{ FD�<kP|rn �P� �of�cPi � f¢qrcPn�|tn5f�kDw�q5�WPDGU*T*MRp*D���� n � �%WPDPU[T*MRp*D ������b2`*NENGY8X �Sp �EO*_�*MEYGt���WRDGUET*MRpED � � ���t*YPZ�� _ �����_: �p �_������ n �%_ � � �%WPDGU*T*MRp*D�� � b?`*NENPY8X�� [OE_ �*MEYGt���WPDRU[T*M�pED�� ���

� n'|tn3¬ f[xojli<mo�Pwgn}qtn§nl�Tx<mo�Pw{n3�PegpDj}wgkDhTegpP�Ux�� xzpDjl��kDftn§iz� b2`>_qp � ftnln�ftn'j}qtegi<p �P� �UN �$�&nlwgi � ���� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B��I � VGZ[ME`RD[M8O `Rp*T t2_�NEN[O _qp ` DGZ?_�`Rp*xPU>NG`PZ `RZEZ[`PQ ��J?_aDGB M*NGMab2MRp*D2O�X�YRp?ORM8XqU*D?_[MENRQ

pEURb �[MPZ[MGT�K ^GB8M O*_ �EM _GO x2_[MRp YRp DGB8M XRYabGb?`Rp[T N8_ p8MCK �EZ2_�b?`PZ?_�NRQT*Mab?Y�p?O�DEZ[`RD[M8O TGQGp8`ab _GX `PZEZ[`RQ `ENENGY8XR`RD?_�YRpLK �PI

_qp*D b?`8_qp ��_qp*D `PZEx>X � XaB8`PZ�� `RZEx ���� ���_qpEDi_��� ��_qpED M*N�D������ I � ^GB8M M*NGMqb?MRp*D�pEU�b �8MPZ�PI

� �

Page 41: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

A[0]

A[1]

A[2]

A[3]

E-eg�<kP|rn �P� � � #¥p£x<|t|Gx��oiz�K�&i<egp$qtn'|rf¤qriy¨r¡$qrkDhTnlp$qGª i3����n'j}qrf

_qpED NGM�p � I � DGB8M O*_ �EM YPt DGB[M `RZEZ[`PQ2O �RI_qpED���� n � I � n _PO�`�p `PZGZ[`PQ YGt `PZEZ[`RQ2O �PI

_�t��%`PZEx2X� ���F*Z2_qp*D*t�� � cOR`Px*MCH �>O OE_ �*M� �p ��� `PZEx � �������MPr2_aD �a]�� �

�NGM�p� `PD[Y>_��%`PZEx ��]������ I � T*M8XRYGTEM O*_ �*M �PI

I ��`8OEOE_axGp n D[Y��[M `Rp `PZEZ*`PQ YGtyF8Y>_qp*D*MPZ2O �RIn � � _ p*D�������b?`*NENGY[X���NGMRp��EO*_ �*MGYGt�� _ pED�� � � �

I � t2_RNGN _ p DGB[MyZ*YRJ?O YGt DGB8M `PZEZ[`RQ �RIt*YRZ � _ ���� _: ENGMRp � _ �������

I � `8OGO*_axGp ME`8XqB M*NGMab?M�p*DyD[Y��8M `�p `RZEZ[`PQ YGt _qp*D2O �PIn ��_ � � � _ p*D���� b?`ENENGY8X�� ��NGMRp��[_ ���EOG_ �EMEYPt�� _p*D � � �t*YRZ � ������ ��NGMRp��[_ � � �������

n �%_ � � � �����EM*NRD ��

I � � YRJ �'FEZ?_qp*D DGB8M�Z[M[OaU>NRD K �RIt*YRZ � _ ���� _: ENGMRp � _ �������

t*YRZ � ������ ��NGMRp��[_ � � �����FEZ?_qp*D*t��� �ET� �D ��� n �%_ � � �� ���

F*Z2_qp*D*t�� � �p���� �

� �

Page 42: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

��

bdcDxzq�wgx3f�q��P|ri<�<|Gxzm egf�ftcPi<|tq��PkTq�� xzeg|rw{��j}i3m��Dw{e�jlxzqtn'h �&fti¯hTi3p ¬ q � i<|r|t�¯e��®�3i<k£jlx<p ¬ q�|rn'x<h�e{q§n'x<ftegw{�3���[nGX v�egfte{q�e{qi<p)iTjlj'x<fte{i3p)x3f¢�3i<k)�Vn5j}i3m�n�moi3|tn�j}i3m���i<|tqrxz�Dw{n � e�qrc�~>x<pDh � xzp$qdqtiUwgn'x<|tp)moi<|rn���|ri<m�qtcPn�nl�Pxzmo�Pwgn<�

d ��� � � ��j�� �« pP�PkPq�egp�~>e�f�hPi<pPn�ftegm�egw�xz|rw{��qti�i3kTqt�PkPq'�6f�qr|rx<pP�<n'w{��n'pPi<kD�<c � ! cPegw{n�qtcPn'|tn�x<|tn�wgi � X w{n'v<nlw6��kDpDj�qre{i3pDf�� i<pPn�egf¥j'xzwgw{n5hZ[ME`PT � � cPe�jGc � n3¬ wgwOhTegfrj}kVftf�wgxzqtn'|0�}� x�wgizq§iz��« � � egf§hTi3pPn�kDftegpP� OEXR`Rp[t � I eg�<n F*Z2_qp*D*t � OEXR`�p[t qrx<�<n'f�x�f�qt|regpP�)x3f�e{qrfFD|Gf�q�xz|r�<kDm�n'p$q'�&e{pDhPegj'x�qtegpP�¯qtcPn ��i<|rmUx�q�qtcDxzq�qrcPn�e{pP�DkTq � e{wgw0�Vn�e{p�� � e�qrc��Pw�x<jlnlcPi3wghTn'|rf�egpDhTe�jlx�qre{pD�¯hPxzqrx�qtcDxzq � egw{w�&nU|tn5x<h�x<pDhuf�qri<|rn'h�e{p$qti)qrcPnUv�xz|regx<�Pw{n5f�qtcDxzq�x<|tnUftkP�P�Pwgegn'hux<f�x<hDhTe�qre{i3pDxzw®x<|t�3kPmonlp$qrf'�+W i<|rn �D|tn5j}e�f�n'w{�3� OEX�`Rp[t egf�<egv<n'p�qrcPn ,R1P1 /�#�5%5#�5�i<��qtcDn�v�x<|te�xz�Dw{n5fl��|rn�5$kPeg|tegpP��qtcPn�kVf�n§iz�-qtcDn � i<�&nl|Gx�qri<|5� �

� n'|tn3¬ fdx<p�n}�Px<m��Dw{n3�Px�wge�qtqtwgn��P|ri<�<|Gxzm�qrcDx�q¥j}i3mo�PkTqtn5f¢qtcPn�mon'x<pDf¤iz�Kq � ioj}i3w{kPmopDf¤i<�Kegp3qrnl�3nl|Gfl� EPi3|[f�egmo�Pw{e�j}e{q��<�qtcDn��P|ti3�<|Gxzm�x3ftftkPmon'f¤n}�Px3j�qtwg�Uqrnlp�p�kPm��&nl|Gfl�� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

_qpED OaU�b>r � ���_qpED OaU�b>Q � ���_qpEDi_��'r � Q �

t*YRZ ��_ ���� _: 2]���� _ ��� ���OEX�`Rp[t��� �ET��ET� �p���� �Er ���EQ����OaU�b>r ���yr �OaU�b>Q ���yQ �

�F*Z2_qp*D*t�� �aWRURb O `PZ[M��ET `Rp[T �ET� �p���� OaURb>r � OaURb>Q � �F*Z2_qp*D*t�� � �[ME`Rp2O�`PZ[M��Et `Rp[T �Et� �p���� OaU�b>r8I2]���K���� OaU�b>Q8I2]���K�� ���Z[MRDGU*ZGp����

/¥i<qte�j}n¢qtcPndkDftndiz�VqtcPn[xzmo�&nl|Gftx<pDh�i3p�qrcPnde{pP�DkTqOv�x<|te�xz�Dw{n5f ��#¥w�f�iV��qtcPn[frxzmon¤w{nlq�qtn'|rf0x<|tn¤kDftn'h�qti§hTnlpPi<qtn[hTe M&n'|tn'p$qq����Vn5f[iz�-v�xz|regx<�Pw{n5fdx<f[xz|rn§kDftn'h)e{p F*Z?_ p*D*t �bdcPnoizqrcPnl| jGcDxz|Gx<j}qtnl|Gf�e{puqtcDn OGXR`Rp[t f�qr|tegpP� xz|rnomUx�qrjGcDn'h+xz�$xzegpDf�q�qtcDn�e{pD�PkTq'��« p�qrcPnU�P|rnlv�egi<kDf§nl�Tx<mo�Pw{n3� � nft�Vn5j}e FDn'h�qtcDxzq¤qrcPn�e{pP�DkTqrf � i<kPw�h��&n�ftnl�Vxz|Gx�qtn5h � e{qtc�x�fte{pP�3w{n§ft�Dx<jln<�$�PkTq � n§j}i3kPw�hUcDx�v<n�f��&n'jleYFVn'h�qtcDxzq¢qrcPnl� � nl|rnftnl�Dx<|rxzqtn'h����¯xoj}i3m�mUxD�Ti<|dqtcD|tn'n§jli<wgi<pDf¤i3| � cDx�qrnlv<n'|'�®¡�n'n�qtcPn�mUxzp�kDx<wI�Dxz�3n§i<p OGXR`Rp[t ��i<|[moi<|rn§e{pP��i<|rmoxzqtegi<p �« q0i<kP�3c3qKqti��Vn¢qtcVx�qOn'x3f��3��¦¥pT��i3|�qrkPpDxzqtnlwg�<�zqtcPn'|tn¢egf0x��PkP��e{p OGXR`Rp[t fti¥qrcDx�qOfti<mon}qre{mon'f-e{q-cVxzpP�$f � pPnlv3nl|0|tnlqtkP|rpDf0�� cPn'p)|rn'x3hTegpP����|ri<m�qtcPn��3nl���&i3xz|GhI�0« q[qtkD|tpDfdi3kTq[qtio�&n��&n}q�qrnl|[qrio|tn5x<h)x wgegpPn�iz�0e{pD�PkTq[��|ri<m�qrcPn��<n'���Vi$xz|Gh�egp3qriUx¨��DkDM&n'|rª �9x�qrnlmo�&i<|Gxz|r��f�qri<|Gxz�3n�wgi�j'x�qre{i3p �¤xzpDh¯qtcDnlp ftj'xzp¯qtcDxzq¥�PkDM6nl|5�®bdc�kDfl� � n�kDftn

XaB[`PZ��EU[t � ����� �KEKGKtGx*MPD2O����GU[t ��O*_�*MEYPt����GU[t ����OqD*T>_qp � �OEOGXR`Rp[t�� �EU[t ��������� ���� ���� KEKEK ���

� n'|tn3¬ fdi3kP|dn}�Pxzmo�Pwgn<�Dm�iThTe FDn5h�qriokDf�n tGx[MPD2O x<pDh OEOGXR`Rp[t �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��

���4-F$�0 � �!OB&Q #H +#�! 2$�0 �!(*$ + +#&�IK$�D � H�%!H � -F$�N=- IF��&�02$ +#021B&�0.+ +.��-/$�IF& OB�!$�D +.&� #0 5 .�!(�3/0 P ; 5 8'�!3KO/3F+ H6D H6(*O:&� .0=H6D/I ����� $�DK5 #�!D'+ �65 H%!H6 .$MH61/>�&��8'�!3 "!&C+,+.-/& H6I/I/ .&Q0.0,�657+.-/& %6H6 #$MH61/>�&!P��4D +.$�> 8'�!3J"!&C+4+#�*(�3/N=- (*�! .& 0#�!O/-F$�0.+.$�N H +.&�IJO/ #�!"! #H6(*0 ��+#-/& �!D/> 8 O/>MH6N�&)8'�!3 < >�> 0#&�&�H6DH6(*OB&� #0=H6DFI $�02$�D H�/���� 3��A5 3FD/NC+#$��!DJH6DFI 0#�!(*&,�6+#-/&� 4NQH6>�> EG1 8 EG .&�5 &� #&�D/N�&,5 3/D/NC+.$��!D/0 P �&�&L0#&�NC+#$��!D��FP ����P

�Q%

Page 43: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

_qp*D b?`8_qp � � �XaB[`PZ��EU[t � ����� �_qpED OaU�b>r � ���_qpED OaU�b>Q � ���_qpEDi_��'r � Q �

t*YRZ ��_ ���� _: 2]���� _ ��� ���tGx*MPD2O����GU[t ��O*_�*MEYPt����GU[t ����OqD*T>_qp � �OEOGXR`Rp[t�� �EU[t � � �ET �ET� �p�� � �Gr ���EQ ���OaU�b>r ���yr �OaU�b>Q ���yQ �

�F*Z2_qp*D*t�� �aWRURb O `PZ[M��ET `Rp[T �ET� �p���� OaURb>r � OaURb>Q � �F*Z2_qp*D*t�� � �[ME`Rp2O�`PZ[M��Et `Rp[T �Et� �p���� OaU�b>r8I2]���K���� OaU�b>Q8I2]���K�� ���Z[MRDGU*ZGp����

d ��� � � � � ��� �0+, � �U� �U:��%

d ��� � e � � � �lk�� � �=�� ~���kPpDj}qtegi<pDf¯xz|rn�x<w{w�jlx<w{w X:����X v�x<w{kDn<� bdcDegfUmon5xzpDfU�3i<k�cDx�v3n�qti��Dx3ftfUx�)[�2$'&8<# /�qti�x<p�i<����n5j�q�e{���<i<k � xzp$qUqtcDn��kPpDj}qtegi<p)qtio�&n�xz�Pwgn�qtiomoi�hPe����UqrcPn�j}i3p$qtnlp$qGf¢i<��qrcPn�i<����n5j�q5� -�n'pPnl|Gxzwgwg�<�Px���kPpDj�qre{i3p jlxzpDpPizq[moiThTe����¯xzp�xz|r�<kPmonlp$q5�EPi3|[n}�Pxzmo�Pwgn<��qrcPn§��i<wgwgi � e{pP�o�P|ri<�3|rx<m��P|tegp$qrf �D�TpPizq &T�� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��[Y>_aT O�MPD�RD[Y ���� _qpED r ���

r � ����

_qp*D b?`8_qp � � �_qpED ` � \��ORMRD�RD[Y ���%` ���F*Z2_qp*D*t�� � �ET� �p ����` ���

­Ox<frfte{pP��x��Vi3e{p$qtn'| � i<|r�TfO�Vn5jlx<kDf�n�e�q5¬ f¢pPizq¢qtcPn��Vi3e{p$qrnl|®qrcDx�q¤egf¢�&nlegpP� jGcDx<pP�<n5hI�<�DkTq¢qrcPn�i3����n'j}q®qtcVx�q¢e�f¢�Vi3e{p$qtn5hqtiV�®bdc�kDfl��qrcPn WPDGU*T*MRp*D�*ORMPD � `qb?M ��kDpDj�qre{i3p¯��|ri<m�qtcPn�n5xz|rw{egnl|dn}�Px<m��Dw{n � i<|r��f FDpDn<�« �K�3i<k � x<p3q¤qtiohTiUjlx<w{w X �$��X |tnl��nl|rnlpDjln<�3�<i<k¯cDx�v<n�qtiUhTi�e{qd�����Vx<frf�egpP��qrcPn�x<hPhP|tn5ftf¤iz�0x�v�x<|te�xz�Pwgn<� � cPe�jGc�cVx<f¤qtcDnhPxzqrx�q����&n�i<�Ix��Vi3e{p$qrnl|¢qti�qrcPn�v�x<|te�xz�Pwgn<¬ f0q����&n<� � n'|tn3¬ f¢xzp�nl�Pxzmo�Pwgn � cPnl|rn¥qrcPn��D|ti3�<|Gxzm hPi$n5f®�P|regp3q &�� /¥i<qte�j}n�qtcDxzq

� n��Dx3ftf�qtcPnox<hDhT|tn5ftf�iz�®qrcPn�v�x<|te�xz�Dw{n ` �����P|rnGFP�TegpP��e{q � e�qrc£qtcDn�x3hPhT|rn'frf X iz�Oi<�&nl|Gx�qri<|5� � cDegjGc£e�f�qtcPnoxzmo�&nl|Gftx<pDh� � �}�®bdcPnlp � � n�f�qti<|rn§e{p$qri qrcPn�v�xz|regx<�Pwgn�����kVf�egpP��qtcPn��&i<egp$qtn'|[i<�&nl|Gx�qti3|'� � cPe�jGc�egf¤qrcPn�x<f�qtn'|te�ft�;� � ���� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��[Y>_aT O�MPD�RD[Y ���� _qpED�� r����

��r�� ����

_qp*D b?`8_qp � � �_qpED ` � \��

��&

Page 44: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

ORMRD�RD[Y �����[` � �F*Z2_qp*D*t�� � �ET� �p ����` ���

� i � nlv3nl|5��e��&�<i<k cDx�v<n¤x��Vi3e{p$qtn'|-qti�x�f�qt|rkDj}qtkP|rn<��qrcPn¥jlx<w{w X:����X v�x<w{kDn�v<n'|rftkDf-jlx<w{w X:����X |tnl��nl|rnlpDjln�e�ftftkPndhTi�n'ftp ¬ q®j'xzkDftnxzp���hPe m�j}kDw�q��3�®bdcPn§��i<wgw{i � egpP��n}�Pxzmo�Pwgn�f�cDi � fd�Vi<qtc �Dx<pDh�qtcPn��P|regp3q�f�qrxzqtn'm�n'p$q¥�P|tegp$qrf6& xzpVh &T�� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��O�DEZPU?X�D �[Y>_ p*D �

_qpED r �_qpED Q �

� �

[Y>_aT O�MPD�RD[Y ����O�DGZGU?X�D �[Y>_ p*D�� F*D ���F*D7� �Rr � ���

_qp*D b?`8_qp � � �O�DGZGU?X�D �[Y8_qp*DyF ]��O�DGZGU?X�D �[Y8_qp*D���F � �O�DEZGU2X�D �[Y>_qpED���� b?`*NGNGY8X��OE_ �*MEYGt��O�DGZPU2X�D �[Y>_ p*D � ���ORMRD�RD[Y �����GF ] ���ORMRD�RD[Y ���SF � �F*Z2_qp*D*t�� � �ETy`Rp*T��GT �p ��� F ] K<r ��F � �Rr � �

bdcPn�fte{mo�Pwgegjle�q��¯iz�-�Dx<frf�egpP�Uxz|ri<kDpDh��&i<egp$qtnl|Gf¤qti�f�qt|rkDj}qtkP|rn'fde�f[x�|tn5x<fti<p���i3|[kDfte{pP�oqrcPn b?`*NGNGY8X ��i<|rm��

d ��� � � � � ��O�Tn5j}kTqre{i3p¯i<�0x�~ � ~ ��� �D|ti3�<|Gxzm �&nl�<egpDf � e{qtc b?`>_qp � � ��v�egi<kDftw{�3�Pf�i3mon}qtcDe{pP�Uwgeg�<n§qtcDegf � x<f[x3hTi<�Pqtn'h)���¯�$x�v�xP���PkTqqtcDnl|rn�xz|rn�x���n � hTeYM6nl|rnlpVj}n'f'�£« p ~ � ~ ��� �-qtcPn'|tn¯m�kDf�q �&n�i3pPwg��i3pPn b?`>_ p egp+qtcPn)nlp$qteg|rn��P|ri<�<|Gxzm�� bdcPe�f�e�f�qr|tkDniz��x<w{wK��kPpDj}qtegi<pDf'�6iz�¢jli<kP|Gftn<�D�DkTq��3i<k �P|ri<�Vxz�Pwg� � i3kPwghPp ¬ q��Vn�qtn'm��Pqtn'h£qti)cDx�v<n�m�i3|tn�qtcDx<p£i<pPn iz�®i<qtcPn'|���egpDhPf�iz���kPpDj}qtegi<pDf'�0« p��$x�v�xD�3e{q'¬ f¤j}i<momoi<poqri hTn FDpPn�x b?`>_ p mon}qtcDi�h���i<|¢n'x<jGc�jlwgx3ftf'� � cPegjGc�qtcPn'p��<nlqrf¢e{p�v<i3�<n5h e{� qrcDx�qdj}w�x<frfe�f�pDxzmon5h�i3p�qrcPn E`�[` j}i<momUxzpVh�wgegpPn�xzpDhue�f§izqrcPnl| � egftnoe{�3pPi<|rn'h �U« q'¬ f�x j}wgnlv3nl|§eghPn'xP�-�PkTq�e{q'¬ f�pPi<q�x�v�xzegwgx<�Pw{noegp~ � ~ ��� � � cPnl|rn�xo�P|ti3�<|Gxzm�m�kVf�q¥cDx�v3n�xokDpPe 5$kPn�f�qrx<|�qre{pP�o�&i<egp$q�f��&n'jleYFDn5h�x�q¥j}i3m��De{wgn§qtegmon<�

/¥i<qtn�qtcVx�q[qtcDnl|rn§x<|tn�q � i � x��Tf¢qtiUhTn5j}w�xz|rn b?`>_qp �_qp*D b?`8_qp � � �KEKEK

xzpVhI�Te��0�<i3k � xzp$qdqtiokDftn�j}i3momox<pDh X w{egpPn�xz|r�<kDm�n'p$qrf �_qp*D b?`8_qp � _qpED `PZEx2X � XqB8`PZ�� `PZEx ��������KEKEK

bdcPn£ftnlmUxzp$qregj'f�xz|rn)qtcPn�frxzmon£x3f�qtcPn'� x<|tn�egp>�3x�v�x ��b?`>_qp e�f�f�kD�P�Pwge{n5h � e�qrc>xzp xz|r|rx��yi<�§f�qt|regpP�3f'�di<pPn���i3|n'x3jGcujli<momUxzpDhDX:wge{pDnox<|t�3kPmonlp$q'��bdcDn�hTeYM6nl|rnlpVj}n'f�xz|rn��&n'j'xzkDftnoe{p�~ � nUcVx�v<n qti �&nUqti3wghucPi � w{i3pP� xzpyxz|r|rx���e�fl�xzpVh��&n'j'xzkDftn � n�kDftn XaB8`PZ�� e{pDf�qtn5x<h�iz� WRDEZ?_qp*x � bdcPnov�x<|te�xz�Dw{n `PZGx2X qrnlwgwgf§kDf�qrcPnUxz|r�<kPmon'p3q�jli<kPp$q � cPi � mUx<p$�xz|r�<kDm�n'p$qrf � n��<i<q'�0bdcPn�v�x<|te�xz�Pwgn `PZEx egf¢qtcDn�x<|t�3kPmonlp$q¤v3n'j}qti<| �>xzp�xz|r|Gx�� i<�Kf�qr|tegpP�$fl� �%�[n5jlx<w{w&qtcVx�q XaB[`PZ�� egf¢qtcDnhPxzqrx�q����&n§iz�Ox�f�qt|regpP�D�

L¤n'j'xzkDftn�i<�KqrcPn�hTkDx<w{e{q���i<�-�&i<egp$qtnl|GfdxzpDh�x<|t|Gx��Tfl�$�<i3k � egw{w�iz�©qtn'p)ftnln b?`>_qp hTn'jlwgx<|tn5h�x3f¤��i<wgw{i � f �_qp*D b?`8_qp � _qpED `PZEx2X � XqB8`PZ���� `RZEx ���KEKEK

� N

Page 45: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� n'|tn3¬ fdx<p¯nl�Tx<mo�Pw{n�qtcVx�q ��kDf�q¥�P|tegp$qrf¤e{qrf[xz|r�<kDm�n'p$qrf¤�Dx<jG�Ui3kTq'�Pftegm�egw�xz|¤qtiUx��P|ri<�<|Gxzm�jlx<w{wgn'h M8XaB[Y egp�qrcPn�¦¥pDe��� i<|rwghI�

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp ��_qp*D `PZEx>X � XaB8`PZ�� `RZEx ���� ���

_qpEDi_ �����

F*Z2_qp*D*t�� � ^GB8MPZ*M�J8MPZ*M��ET `RZExGURb?M�p*D2O H �p�����`PZGx>X����t*YRZ ��_ �c]�� _: G`RZEx2X � _ ��� ���

F*Z2_qp*D*t�� � �>O � ��`PZEx �%_ ������F*Z2_qp*D*t�� � �p���� �Z[MRDGU*ZGp����

« �O�<i3k � x<p3q�qtiUqr|t�¯qtcPe�f�n}�Pxzmo�Pwgn<�&�Vn f�kP|rn�qri�ftx�v3n�e�q§x<f b8Q[M8XaB8Y i<|�f�i3m�nlqtcPegpP�Uwge{�3n�qrcDx�q5�VpPi<q M8XaB[Y i<| D*M8O�D �fte{pDjlnoqtcPn'|tn�x<|tnUx<w{|rn'x3hT��j}i3momox<pDhPf � e{qtc+qrcPi3ftnUpDxzmon5fl�K�PkPegw�q�egp$qti)qtcDn�f�cDnlwgw9� � cPe�jGc � egwgwOqrx<�<no�P|rn'j}n5hTnlpVj}nUi�v<n'|�<i3kP|Gfl�

d ��� � � ��������� e � � �:��� � � j :� � � ��� �~�¬ f�wgi<�<e�jlx<w®i<�&nl|Gx�qri<|Gf§w{eg�<n � � xzpVh�����f�qti<�yn'v�xzwgkDx�qre{pP� e{�[qtcDn�wgn}�©q i3�Vn'|rx<pDh+hTn}qrnl|rmoe{pPn5f�qrcPn�v�xzwgkPn3�0fti qrcPnl�+xz|rn¨tftcPi3|�q X jle{|Gj}kPe{qtegpP�$ª�i<�&nl|Gx�qri<|Gfl�0bdcPe�f¢e�f¢qt|rkPn§e{p��$x�v�x x<f � nlwgw9�Tfti e{q¥f�cPi3kPw�h��&n�� x<moe{wgegx<|¤qtio�<i3k � � nl|rn<¬ fdxzp)n}�Pxzmo�PwgnqtcVx�q¥e�fdkDf�nl��kPw �

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

_qpED n ��]���� �_qpED p �

_�t���p ]�� ��� p � � � ��� n � p � � ]�� ���F*Z2_qp*D*t�� � n � p � _GO��ET� �p ��� n � p � ���

��

� n'|tn3� � n<¬ |rn�xz�Pwgn�qri�qrn'f�q�qrcDx�q p e�f�x�v�xzwgegh�xz|r|rx��¯e{pDhPn}�£xzpDh n � p � cDx<f�f�i3m�n �P|ri<�&nl|tq��)x<w{w-e{p�i<pPn�qtn'f�q'��« � � nhTe�hTp ¬ q¥cDx�v<n�ftcPi<|tq¥j}eg|rjlkPe{qtegpP�D� � n<¬ h�cVx�v<n�qtiokDftn§qtcPn�ftwge{�3c3qrw{��m�i3|tn�jlkPm��&nl|Gf�i3mon �

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

_qpED n ��]���� �_qpED p �

_�t���p ]�� ��� p � � � ���_�t�� n � p � � ]�� ���

FEZ?_qp*D*t��� n � p � _GO �ET� �p���� n � p � � ��

��

� O

Page 46: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

d ��� � � � � � � � j :� � ����� �~ cDx3f�i3�Vn'|rxzqti3|rf¥qti)|tn5x<h£x<pDh£moiThTe{���£�Dxz|tqte�j}kDwgx<|��Pe{qrf � e{qtcPegp�x � i<|GhI���3x�v�xUcDx3f�qtcPnoftx<mon�i<�&nl|Gx�qri<|Gfl�&�PkTq§qrcPnl�xz|rn�w{n5ftf�jli<momoi<pPwg�£kDftn'hI����kDf�q��&n'j'xzkDftn�qtcPnU��egpDh�iz�¤x<�P�Pwgegj'x�qre{i3pDf � |te{q�qrnlpue{py�$x�v�x�qrnlpDh�qti��&nUmoi<|rn cPeg�<cRX:wgnlv3nlw:�� cPegw{n ~ egf�j}i<momoi<pDw{��kVf�n5h���i3|¥w{i � X wgnlv<n'wd¨��Pe{q X:q � eghDhTw{egpP�$ª x<�P�Pwgegj'x�qtegi<pVfl�

i3�Vn'|rxzqtegi<p jGcDx<|�De�q � e�f�n�x<pDh ��De�q � e�f�n�i3| ��De�q � e�f�n§�Ti3| �

bKiykPpDhTn'|rf�qrx<pDh qtcPn�kDf�n�iz�§qtcPn5f�n�i<�&nl|Gx�qti3|rf'�¤�<i<k�cDx�v3n�qtiy|rnlmonlm �Vn'|�cPi � egp3qrnl�3nl|Gf�xz|rn |tn'�P|rn'ftnlp$qtn5hI� #�px<frfte{�3pPmonlp$q[w{eg�<n�qtcDegf �r�� ���Q�� ���

�PkTqGf��Dxz|tqte�j}kPw�xz| �Pe{q �Dxzq�qtn'|tpVf�egp$qti�mon'm�i3|t�3��bdcPn¯�PegpDxz|r�+|tn'�P|tn5f�n'p$qrx�qre{i3p+iz� ��e�f �UPR� � � ��jli<kP|Gf�n3�0i<p�x<� � X �Pe{qj}i3mo�PkTqtn'|'�0qrcPn¯x3j�qrkDxzw¤|tn'�P|rn'ftnlp$qrxzqtegi<p+cDx<f � O w{n5x<hTegpP� �'nl|ri3f'� EPi3|��P|rnlv�e{q��<�Owgn}q'¬ f�x<frf�kPmon � n�cVx�v<n�x<p�i<w�h N X �Pe{qj}i3mo�PkTqtn'|'�Pfti�qtcPn��De�q X:�Dxzq�qrnl|rp)e�f PQP PQP PR�UPA� ��bdcDn��Pe�q¥�Vx�q�qrnl|rp)��i<| O egf P PQP PR�UP PR� �

« � � n§cDx�v3n�x<p�x3ftfteg�<pPmonlp$qdw{eg�<n�qrcPegf �� � r � Q �bdcPn�j}i3mo�PkTqrxzqtegi<p)egf¤qrcPn � $. : $ 5# # /6� i<��qrcPn§�Pe�qGf[iz� r xzpDh�qtcDn��Pe�qGfdiz� Q �ObdcDxzq[m�n5xzpDf¤qrcDx�qdqrcPn $ qrc��Pe�q¥i<�Kn5x<jGcegp3qrnl�3nl|�e�f®mUxzqrjGcPn5hokP��xzpVhUj}i<m �PegpPn'hUkVf�egpP� # /6� qti��D|tiThTkDjln�x�pPn � p$kDm��&nl|5� � cPe�jGc�e�fOqrcPnlp�f�qti3|tn5hoe{p � �-« pUqrcPegfjlx3f�n3� ��� e{wgw0�<n}q�qtcDn �Pe{q X �Dxzq�qtn'|tp PQP PQPQP PQPA� �P�&n'j'xzkDftn�qrcPn�i<pPwg� �Pw�x<j}n � cPnl|rn��Vi<qtc r x<pDh Q jli<p$qrx<e{p�x � egf�e{p�qtcDn|re{�3c3qrmoi3f�qd�De�q5��¡�e{moegwgx<|twg� �� � r � Q �� � r � Q �

bdcPn FD|Gf�q[e�f¢egpDjlw{kDftegv<n � ���Tf�i qtcPn§|rn'ftkPw{q¤e�f PQPQP PR� �UPR� {�qtcDn§ftn'jli<pDh�egf¤nl�Tjlw{kVf�egv<n � ��� � e�qrc P PQP PR�Q�-PQP x3f®qrcPn§|tn5f�kPw{q'�� ? � 14, � :���, �

d ��� � � �� � :� � � � k � j :� � ������®v3nl|r��j}i3mo�PkTqtn'|�w�xzpP�3kDxz�3n cDx3f�kPpDx<|t��i<�&nl|Gx�qri<|Gf �9f�kVjGc�x<f � � � cDegjGc+�P|riThTkDj}n5f§qtcDn�w{i3�<e�jlx<wOpPnl�$x�qtegv<noi<�[x ftegpP�<wgn�&i$i3w{n5xzpUv�xzwgkPn!�OxzpDh��Pe{pVxz|r��i<�&nl|Gx�qri<|Gf:� ftkDjGc�x3f ����� cPe�jGc��P|riThTkDjln'f0qrcPn�wgi<�3egj'xzwA# /6� iz�6q � i��Vi�i<wgn'x<pUv�xzwgkPn'f0��� #�f� xz|�x<f¥«d��pPi � �Pi3pPwg� ~ xzpVh�e�qGf�ftkDjljln'frf�i3|rfdcDx�v3n�xzp egpDFP��+#=/ &4,2/ ��i<�&nl|Gx�qri<| � xzp�i3�Vn'|rxzqti<|dqrcDx�q�i<�&nl|Gx�qrn'fdi<p 7 /�#�#v�xzwgkPn'f'�

bdcPnUftnlmUxzp$qte�jlf§i<�¢qrcPnUi<�&nl|Gx�qri<|§e�f�w{eg�<n�qrcDx�q�i<� _�t�KEKGKSM*N[ORM �6fti)wgn}q5¬ f�n}�T�Pw�xzegp�qrcPnoqtn'|tpVxz|r� i<�&nl|Gx�qti3| � e�qrc+x<pn}�Px<m��Dw{n3� � nl|rn<¬ f[i<pDn � x��oqti�hPnGFDpPn�qrcPn b?`Rr ��kPpDj�qre{i3p �_qp*D b?`Rr ��_qp*D r � _qp*D Q ���

_�t�� r �yQ ���Z[MPDGU*ZPp r �

� MEN[ORM��Z[MPDGU*ZPp Q �

��

« � � n§kDftn�qtcPn§qrnl|rpDxz|r��i<�&nl|Gx�qri<|5�$hPnlpPi<qtn'h D� � n�jlxzp)|rnGX � |te{qtn�qtcDxzq[��kPpDj}qtegi<p x<f �_qp*D b?`Rr ��_qp*D r � _qp*D Q ���

Z[MRDGU*ZGp r �yQ r H Q ��

� P

Page 47: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

bdcPn85$kPn5f�qre{i3p)mUx<|t��i3�Vn'|rxzqti3|d��i<wgw{i � fde{qrf FV|rf�q¥v�xzwgkPn<�®« �0qrcDx�q FD|Gf�q¥v�x<w{kDn�egfdqr|tkDn6��pPi3pDX �'nl|ri)�}�Pe�q¥|rn}qrkP|rpDfdqtcDn�v�x<w{kDn�P|rn'jln'hTegpP�oqtcDn j}i3w{i3p {Di<qtcPn'| � e�ftn<�De{q�|rn}qrkP|tpVfdqtcPn v�xzwgkPn���i<wgwgi � e{pP�oqrcPn jli<wgi<p � ��« p+~��Vj}i3mo�Dxz|regfti<pVfd|tnlqtkP|rp �Vi�i3w{n5xzp��egp$qtn'�<nl| �¢v�xzwgkPn'f'� � cPe�jGc)j'xzp)�Vn�f�qti3|tn5hI�T�P|re{p$qrn'h�xzpDh)fti ��i3|�qrc � �bdcPn e{mo�&i<|tqrxzp$q�hTe M&n'|tn'pDj}n �Vnlq � n'nlp _�t�KEKEK M*N[ORM xzpVh ¯egf�qtcVx�q�qtcPn�i<�&nl|Gx�qri<|�e�f§xzp #���)4/�#�5%5 $0� &�xzpVh£f�i¯e�q�jlx<p�&n�nlm��&n'hDhTn'h)egp)i<qtcPn'|[n}�T�P|rn'frf�egi<pVfl� #¥�&i�v<n3� � n�ftnln�e{q�x<f¤qtcDn�xz|r�<kPmonlp$qdiz�-qtcPn Z[MPDGU*ZPp �3nl� � i3|rh �bdcPn�qtnl|rpDx<|t��i<�&nl|Gx�qri<|�e�f¤mUxzwge{�3pPn'hU�&n'j'xzkDftn�e{q � i3kPwgh��Vn�n'x3f�� qti � |te{qtn�j}i3m��Dw{nlqtnlwg�UkPpP|rn'x3hPxz�Dw{n�jliThTn�kDftegpP� e{q'��PkTqd��i3|¤�DkP|t�&i3ftn'f¢wge{�3n b?`Pr �3e{q¥jlxzp¯�Vn§x � i3pDhTnl|t��kPwIftcPi<|tqtcDx<pDhI� EPi3|¢qrcDx�q[|rn'x3f�i3p �3e{q � x3f¢x3hTi<�Tqrn'h�e{p£~�¬ fdftkDjljln'frf�i3|w�xzpP�3kDxz�3n'f'�

d ��� � � �� g � �2j � � � � �����bdcPn'|tn)xz|rn�x ��n � j}i3m�moi3p�egfrftkPn'f�iz���P|ri<�3|rx<mom�egpP� w�xzpP�3kDxz�3n'f§qrcDx�q�~�fti<wgv<n'f����ukVf�n¯iz��xzpsn}��qtn'|tpVxzw��D|ti3�<|Gxzm��jlx<w{wgn'h�qtcDn)�D|tn X:�P|riTj}n5ftfti<|5��bdcPe�foegfUxu�P|ri<�3|rx<mqtcDxzq�|tn5x<hPf qtcDn�fti<kD|rjlnTFDwgn �&n}��i<|rn¯qtcPn£jli<mo�Pegw{n'|ohPi$n5fl�¤mUxz��egpP�v�xz|re{i3kDf[qrn}��qtkVxzw0f�kP�Vf�qre�qrkTqtegi<pDf'��bdcDn ¦¥pDe�� pDx<m�n���i<|�qtcPn �P|ti3�<|Gxzm egf XaFGF �&xzpDh e{q�e�f�f�i3m�nlqtegmon'f¥kVf�n5h � e�qrc�i<qtcPn'|�P|ri<�3|rx<m�moegpP� x<pDh�j}i3pDFD�<kD|rxzqtegi<p�w�xzpD�<kDx<�<n'fdx3f � nlwgw:���nGFDpPe{qtegi<pVf-x<pDh�i<qtcPn'|0e{pT��i3|tmUxzqtegi<p�qrcDx�qOe�fKmon5xzp$qKqri��&nd|tn5x<h����§qrcPn¢�D|tn X:�P|riTj}n5ftfti<|-xzpDh�pPizq0���§qtcPn�~+jli<mo�Pegw{n'|xz|rn§jlxzwgwgn'h 12$'/�#03� $���#�5���bdcPn�~¤­¢­shTeg|rn'j�qre{v3n'fdxz|rn��Vn'�<kPp�x�q¤qtcPn�wgn}�©q[mUxz|r�<egp � e{qtc�x��Vi3kPpDh)f�eg�<p � � ���®bdcDn���i3w{wgi � egpP�ftn'j�qre{i3pDfd�P|re{n=<D��hTn5ftjl|teg�&n�qrcPn�e�ftftkPn'f¤qrcPn ~ x<frf�eg�<pDf¢qrioqtcPn��P|rnGX �P|riTj}n'frfti<|5����"!�!�� � ���(� � � �+���bdcPn�~swgx<pP�<kVxz�<n�hTi�n'ftp ¬ q¤cDx�v<n�j}i3pDf�qGxzp$qrf �}¨t|tn5x<h X i<pPwg�Tª§v�xz|regx<�Pw{n5f ��x<f¢mUxzp��oizqtcDnl|�w�xzpD�<kDx<�<n'f¢hTiD�0« pDf�qtn5x<hI��e{q¢kDftn'fqtcDn��P|tn X:�D|tiTj}n5ftfti<|¢qtiUftkP�Df�qte{qtkTqrn�xUf�qr|tegpP�oiz�0hTeg�<e{qrf � cPn'|tn'v<n'|dxof�qt|re{pD��i<�-jGcDx<|rx3j�qrnl|Gf¢e�f¤��i<kDpDhI� EPi3|[n}�Pxzmo�Pwgn �� T*MPt2_qp8M��?o \CK�] � ]����� ��� T*MPt2_qp8M n � � n �� � n ]����bdcPn)q � iuwgn}qtqtn'|rf �?o£� egw{w[cDx�v3n�qrcPn p�kPm��&nl|UftkP�Df�qte{qtkTqrn'h � cPn'|tn'v<nl|�qrcPnl��x<|tn¯��i<kDpDhI�df�i+�<i3ksj'xzp kDf�n)qrcPegfUx3foxj}i3pDf�qrxzp$q � cDnl|rnlv<n'|�x <Di$x�qre{pP���Vi3e{p$q�p�kPm �Vn'|�e�f�x<w{wgi � n'hI�d« p£mUxzp���jlx3f�n5fdqtcPe�f�egf ��kDf�q � cDxzq��<i3k � x<p3q5��¡�egmoe{w�xz|rw{���i<|¥jli<pDf�qrx<p$q n ��� n � � n �3fti��3i<k�jlx<p)hTi�qrcPe{pD�3f[wge{�3n�qtcPe�f �_qp*D n � n ��� n � � n ���t[NGYG`PD XRY8OaFc_ � XRY8O � �?o ���~¢i<p�v3nlp$qtegi<pDx<w{wg�<�Ijli<pDf�qrx<p3qGf§xz|rn�x<w{w0kP�P�&nl| X jlx<ftn<� fti)qtcDxzq§qtcPn'��f�qGxzpDh�i<kPq�x<pDh�fti¯qtcDxzq��<i<kuhTi<p�¬ q�kDftn�qtcPn'm x<j'j}e XhTn'p3qGxzwgw{�3�

��, / &-$'& (P��qtcPn �P|rnGX �P|tiTjln'frf�i3|[egf�x��PkP|rnlwg�¯qtn}��qrkDxzw0f�kD�Df�qre�qrkTqtegi<p��6fti�kVf�egpP��ftkDjGc�x�jli<pDf�qrx<p$q � cPnl|rn�x¯j}i<pVf�qGxzp$qe�f§pPizq�xzwgwgi � n5h � egw{w®j'xzkDftn � n'e{|Gh�x<pDh�egpDjli<mo�P|rnlcPn'pDf�eg�Pwgnonl|r|ti3|�mon'frfrxz�<n5fl� EPi<|�nl�Pxzmo�Pwgn<� �3e{v3nlp£qrcPn�hTn FDpPe{qtegi<puiz�n ��� n �� � n xz�&i�v<n3�$qtcPn§��i3w{wgi � e{pD��wgegpPn�iz�0j}iThTn �

n � � n �� � n �i]������� egw{w¥|rn'ftkPw{q�e{p qrcPn£j}|r���Tqte�j�¨��Dx3h�wgv�xzwgkPn'ª+n'|t|ri<|omon'frfrxz�<n3���&n'j'xzkDftn � cDx�qU�3i<kP|U�P|ri<�3|rx<m |tn5xzwgw{�sftx��Tf � � cDxzq�qtcDnj}i3mo�Pe{wgnl|¥frx � � � x3f �

]���� �i]������xzpVh��3i<k�jlxzp�¬ q�x3ftfte{�3p¯x�pPn � v�xzwgkPn�qti �-PQP ����"!�!��"! � ����� $ �¡�i3m�nlqtegmon'f � n � xzp$qdqtiUx<w{wgi � xzp�xzwge�x<f¢��i<|¥frx��<�Px�q����Vn3�®bdcPegf � i3kPwgh¯xzwgw{i � kDf¤qtio|rnGX hTnGFVpPn§e�q[w�x�qtn'|'�:��!�n�frx � qrcPegffrxzmon�e�ftftkPn§xz�&i�v<n¥egp¯ftn'j}qtegi<pT�D� � �P� %�i<p DEQPF8MGT*MGt � �§¦�ftegpP� DEQGF8MGTEMGt egf¢�P|ri<�Dx<�Pw{�Ux f�kP�&nl|regi<| � x���iz�Kx3jljli<mo�PwgegftcPegpP�xzwge�x<ftn'f'���PkTq�qtcPnoqrn}��q ftkP�Df�qte{qtkTqre{i3pyiz�¤qtcPn��D|tn X:�P|riTj}n5ftfti<|§e�f�v<n'|t�£�&i � nl|t��kPw9�-f�i e{q�e�f�iz�©qrnlpyn'm��Dw{i��3n'hI� � nl|rnUegf�xfte{mo�Pwgn�n}�Pxzmo�Pwgn �� T*MPt2_qp8M pEU�b �8MPZ t[NPYE`PDL¤n'j'xzkDftn§iz�-qtcPn�qrn}��qtkVxzw�ftkP�Df�qte{qtkTqre{i3p � � n�jlx<p�pPi � kVf�n pEURb �[MPZU� cPn'|tn'v<n'|dqtcPn � i<|Gh t[NGYE`PD�� i3kPw�h��&n�xzwgwgi � n5hI�®« �� n�w�x�qrnl|¥hTn5j}e�hTn'h¯qrcDx�q¥p�kPm �Vn'|rf[ftcPi<kDwgh¯�Vn T*YRU �>NPM � � n§jli<kPw�h)jGcDxzpP�3n ��kDf�q¥i3pPn§w{egpPn�i<�Ki<kD|[�P|ti3�<|Gxzm��

� �

Page 48: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

���"!�!��"� � �� � � ���z®i<k � i3p ¬ q��&n�ftkP|r�P|te�ftn'h�qri�wgn'xz|rp qrcDx�q�qtcPn��P|rnGX �P|ri�jln'frf�i3|¥e�f�kVf�n5h���i<| � cDx�q��$x�v�x�hTi�n'f � e�qrc _�b8F8YRZED � �P|ti�v�e�hTegpP�xzpDizqtcDnl| FDwgn§iz�0e{pT��i3|tmUxzqtegi<p¯qti�qtcPn�jli<mo�Pegw{n'|'�®bdc�kDf'��qtcDn§��i<wgw{i � egpP��egf¥x3j�qrkDxzwgw{��qtcPn � i<|r�Uiz�-qtcPn��D|tn X:�P|riTj}n5ftfti<| �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��! cDxzq�qtcPe�f w{e{qtn'|rx<w{wg��mon'x<pDf�e�f�qrcDx�q�qtcPn¯�P|tn X:�D|tiTj}n5ftfti<|�ftcPi<kDwgh+|rn'x3h�qrcPe�f�izqrcPnl| FDwgn�xzpDh+egpDjlw{kDhPn�e�qGf�jli<p$qtn'p3qGf�egp�Pw�x<jln�i<�KqrcPn�hTeg|tn5j�qre{v3n<�ObdcPn ~ jli<mo�Pegw{n'| � e{wgw cDx�v3n�pDiUeghTn5x qtcDxzq¥m�i3|tn�qrcDxzp)i<pPn FVw{n§e�f[�Vn'e{pD��|rn'x3hI�

« �0�<i<k�mUxz�3n§kP� �<i3kP|[i � p _ p?XPN�U[TEM FDwgn'f'� � cDegjGc��<i3k � e{wgw � cPn'p �<i<kD|[�P|ti3�<|GxzmUf¤e{pVj}|rn'x<ftn§e{p£jli<mo�Pwgn}�Te{q��<�P�3i<kftcPi<kPw�h�|rnlmonlm �Vn'|�qrcDx�q0�&n'jlx<kDftn�qrcPn¤jli<mo�Pegw{n'|-hPi$n5f�p�¬ q-�$pDi � xz�&i<kTq-qtcPn � i<|r��i<�PqtcPn¤�P|rnGX �P|ri�jln'frf�i3|'�'nl|r|ti3|�mon'frfrxz�<n5fjlx<p¯fti<mon}qre{mon5f¢�&n�i<�Dfrj}kP|rn<� EDi<|¤n}�Pxzmo�Pwgn<�Tx m�e�frf�egpP�of�n'm�e X j}i<wgi<p¯x�q¤qtcPn§nlpVh�iz�0xzp¯e{pDjlw{kVhTn'hHFDw{n�jli<kPw�hUqr|teg�<�3nl|¢x<pnl|r|ri<|dmon'frftx<�<n�e{p)qtcDn�mox<e{pVFDwgn6��i3|[nlv<n'p)x<pPizqrcPnl|[egpDjlw{kDhPn'hVFDwgn�������"!�!���� � ��� ���4�������� � � � ��(���0� ����� bdcDegfdqri<�Pe�j�egf�f�i3m�n � cDx�q¥x3hTv�xzpDjln'hI�Pfti���nlnlw ��|tn'n�qri�f���eg�¯e{q¥i<p�x�FD|Gf�q[|rn'x3hTe{pD�D� �

bdcPn��P|rnGX �P|tiTjln'frf�i3|�jlx<p�j}i3pDhTe{qtegi<pDx<w{wg�oe{pDjlw{kVhTn§w{egpPn'f¤i<�Kj}iThTn�e{p)e�qGf¤i<kTqr�PkTq'�PhPnl�&nlpDhTegpP��i<p¯v�x<|tegi<kVf�¨tf � e{qrjGcPn5fl� ª� cPe�jGcsj'xzp��&n)ft�&n'j}e FDn5h�x�q�qtcDn�qri<��i<�¥qtcDn)fti<kP|Gj}n¯j}iThTn)i<|�nlv<n'p�i<p�qtcPn�j}i3momox<pDhywge{pDn<��bdc�kDf'�0qtiui<�Tqre{i3pDxzwgw{�egpDj}wgkDhTn�fti<mon�hTnl�DkP�<�3e{pP�Ujli�hPn<��qtcDn�j}i<momoi<p�fti<wgkTqtegi<p)egf[qtcPn§��i3w{wgi � e{pD� �� _�tGT*MGt ���Gu �F*Z?_ p*D*t���^GB8M�*`*N�U8M YGtyr _GO��Gt� �p���� r����� MRp*T2_�t« ��qrcPn§f���m��&i<w ���Gu � e�fdhTnGFDpDn'h;�9x<f¤egp � T*MGt>_qp8M ���<qtcPn§wge{pPn�iz�-j}iThTn � e{wgwI�Vn§�Dx3ftftn'h�i<p�qri�qrcPn�j}i3m��De{wgnl|5��izqtcDnl| � egftne{q � i3p ¬ q5�

� n'|tn3¬ f[x<p)jli<mo�Pwgn}qrn�nl�Pxzmo�Pwgn<�PkDftegpP�oi<kP|d� x3j�qti3|te�xzw6nl�Tx<mo�Pw{n���|ri<m�qtcPn�v3nl|r�U�Vn'�<egpPpPegpP� �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B�� I � t*YPZ `PD[Y8_ �RI

� T*MPt2_qp8M ^�� n V��� _�tGT*MGt�^�� n V��[Y>_aT _ p[T*MRp*D��Sp����

_qpEDi_��t*YRZ ��_ ���� _: �p ��_������ F*Z?_qpED*t��� �����

�� MRp*T2_�t_qp*D t*`[X�D[YPZ?_�`*N � _qpED � � I � T*M8XPNP`PZ[`PD?_�YRp �PI

_qp*D t*`[X�D[YPZ?_�`*N � _qpED p ��� I � T*MGt2_ pc_aD?_�Y�p �PI_qpED Z[M[OaU>NRD �

� _�tGT*MGt�^�� n V��_qp*T*MRp*D � p����F*Z2_qp*D*t�� �qt*`8X�D*YPZ?_�`*N YGt��ET"KEKEK �p�� � p����� MRp*T2_�t_�t�� � ���yp ���

Z[M[OaU>NRD� ]��� M*N[ORM �

Z[M[OaU>NRD �yp ��t*`[X�D[YPZ?_�`*N �Sp��>]�� ��

� _�tGT*MGt�^�� n V��

� �

Page 49: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

_qp*T*MRp*D � p����F*Z2_qp*D*t�� �qt*`8X�D*YPZ?_�`*N YGt��ET _GO��ET� �p ��� p �SZ*M8OaU>NRD����� MRp*T2_�tZ[MRDGU*ZGp Z[M[OaU>NRD �

_qp*D b?`8_qp ��_qp*D `PZEx>X � XaB8`PZ�� `RZEx ���� ���_qpED `Rp2OaJ8MPZ � t*`8X�D*YPZ?_�`*N �%`PD[Y>_��%`RZEx ��] ��� ���F*Z2_qp*D*t�� � �>O)��� �ET� �p���� `PZEx ���]�� ��`Rp?OaJ8MRZ � �

bdcPnowge{pPn5f�ftkP|t|ri<kDpDhTn'h����£qtcDnU�P|tn X:�D|tiTj}n5ftfti<|�hTeg|tn5j�qtegv<n5f � _atET*MGt xzpDh � MRp*T2_�t)� e{wgw®i3pPw{���Vn�jli<mo�Pegw{n5h�e{�¤qtcDxzqft�$m �Vi3wIegf�hTnGFDpDn'hI�¢~¢i3m��De{wge{pD�ox<pDh)|tkDpPpPegpP��qtcPn��P|ri<�3|rx<m x<fde{q¥egf'�P��e{n'wghDf¤qtcPn§��i3w{wgi � e{pD��|rn'ftkPw{q �� x2XEX �GYyt*`8X�D[YRZ?_�`*N ��DEZ[`8XRM�t*`8XaD[YPZ?_�`EN �RDEZ[`[XRM�K%X� t*`8X�D[YRZ?_�`*N ��DEZ[`8XRM ��A� � ��

/¥i<qte�j}n�cPi � qtcPn'|tn�e�f�pPiu¨�qr|rx3j}egpP�3ª�i<kTqr�PkTq'�0« � � n§hTnGFDpDn�qrcDx�q[f���m �Vi3w9� � n��<nlq�qrcPn�qr|rx3j}egpP���&nlcVx�v$egi<|¤x<f � n§hTe�h�&n}��i<|rn<�� i � jlx<p � n�hTnGFDpDn§qtcPn�ft��m��&i<w � � pPn � x��Ue�fdqri�egpDftnl|tq¥xow{egpPn§w{eg�<n§qrcPn§��i<wgwgi � e{pP�ox�q[qrcPn§qti3�¯i<�KqrcPn FDwgn �

� T*MPt2_qp8M ^�� n V��#¥pDizqtcDnl| � x��¯qti)hTnGFDpDn�qrcPn ft��m��&i<w-egf�i<p�qtcPn�j}i<mo�Pegw�x�qtegi<p�j}i<momUxzpVh w{egpPn3� � e{qtc�qtcPn � � f � e{qrjGc qri��3j'jz� EPi3|

n}�Px<m��Dw{n �� x2XEX �GYyt*`8X�D[YRZ?_�`*N ��DEZ[`8XRM����E^ � n V��ytE`8X�D[YPZ2_�`*N �RDGZ[`8XRMCK�X� t*`8X�D[YRZ?_�`*N ��DEZ[`8XRM �

t*`[X�D[YPZ?_�`*N YGt � KEKEKt*`8X�D[YRZ?_�`*N YGt \"KEKEK

t*`[X�D[YPZ?_�`*N YGt� KGKEKt*`8X�D[YRZ?_�`*N YPt ] KEKEK

t*`8XaD[YPZ?_�`EN YGt�� KEKGKt*`8XaD[YPZ?_�`EN YGt�� _GO ]t*`8X�D[YRZ?_�`*N YPt ]y_GO ]t*`[X�D[YPZ?_�`*N YGt� _PO t*`8X�D[YRZ?_�`*N YGt \ _GO �t*`[X�D[YPZ?_�`*N YGt � _GO ��

�A� � ��

d ��� d � � � � ��� � � �9� � ���� ��

¡$qGx�qte�j[v�xz|re�xz�Pwgn'fOx<|tn[i3�DftjlkP|rn<�<�DkTq�iTjlj'x<fte{i3pDxzwgw{��kDf�nl��kPw:� #�f�x§pPi�v�e�j}n�~��P|ri<�3|rx<m�mon'|'���3i<k � e{wgwD�D|ti3�Dxz�Pwg��pPn'v<n'|®kDftnqtcDnlm��3�DkTq��<i3k mUx���f�n'ndqtcPn'm egpoizqtcDnl|®�&nli3�Pw{n3¬ f�j}iThTn<� �¢ftftnlp$qte�xzwgwg�<��qrcPnl��xz|rn[v�x<|te�xz�Dw{n5f-qtcDxzq'�<wgeg�<n[�<wgi<�VxzwTv�xz|regx<�Pwgn'f'�xz|rn�egpPe{qte�xzwge��'n'h � cPnlp�qtcPn¤�P|ri<�<|Gxzm �&nl�<egpDf'��pPizq � cPn'p�qtcDn¢��kDpDj�qre{i3p hTi�n'f'�0bdc$kVfl��qrcPnleg|Kv�x<w{kPn5f-wgx3f�q0�Vnlq � n'nlp���kPpDj�qre{i3pjlx<w{w�f'� � nl|rn<¬ f[xzp�n}�Px<m��Dw{n�qtcVx�q�x<j}qrfdwge{�3n�x i3pPnGX nlwgnlmon'p3q¥j'x<jGcPn �tPUEp2X�D?_�YRpyt*YEY�� _ p*Dyr ���

O�D[`PD2_GX _qp*D NG`8OaD�Rr �����O�D[`PD2_GX _qp*D NG`8OaD�RQ �����_�t�� NG`8OaD�Rr ��� r � Z[MPDPU*ZGp NG`8OaD�RQ �KEKEK NGYRpEx MRrGF8MRp?OE_[M XRYqb8FEU*D[`RD?_�YRpyYGt QNG`8O�D Rr � r �NG`8O�D RQ � Q �

� �

Page 50: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

bdcPn�e�hTn5x egf�qtcVx�q�qrcPn���kPpVj�qtegi<p�|tn'm�n'm��&nl|Gf�qrcPn�w�x<f�q xz|r�<kDm�n'p$q�e�q � x3f�jlx<w{wgn'h � e{qtcsxzpDhuqrcPn�|rn'ftkPw{q'�Of�i£qtcDxzqe{�¢e{q'¬ f�jlxzwgwgn'huxz�3x<e{p � e�qrc�qrcPn�ftx<mon�x<|t�3kPmonlp$q'�Ie{q�hTi�n'ftp ¬ q�cDx�v3n�qri)|rnGX j}i3mo�PkTqtn�e{q � � cPe�jGc�e�f§n}�T�&nlpDfte{v3n����PkTq�jlx<pegm�mon5hTegxzqtn'w{�¯|tnlqtkP|rp�qrcPn��P|rnlv�egi<kDftw{��jli<mo�PkTqrn'h)v�xzwgkPn<�

d ��� v w � � � j��� �

« p)qtcPe�f¥ftn'j}qtegi<p � � n ��kDf�q�jli<mo�Pegw{n�fti<mon§n}�Px<m��Dw{n5fdiz�-jliThTn�e{p �$x�v�x x<pDh�~��PqtiUj}i3p3qr|rx3f�qdqrcPn�j}iThTegpP�Uf�q���wgn'f'�

���"! ��� � � � � � $ ���(� $bdcPn FV|rf�q¢nl�Tx<mo�Pw{n�egf¢x�v<n'|t��f�egmo�Pw{n��P|ri<�<|Gxzm qti�|rn'x3h�q � i�p�kPm �Vn'|rf®��|ti3m�qrcPn¥kDftnl|5��j}i<mo�PkPqtn[qrcPn�c����Vi<qtn'p$kVf�n¥i<� x|re{�3c3q0qr|te�xzpP�3w{n � e{qtcowgnl�3f0i<�VqrcPi3ftndw{n'pP�zqrcDf'�3xzpVh��P|regp3qOqrcPn[|rn'ftkPw�q5�-bdcDn¥j}i<mo�PkPqrx�qre{i3p e�fOn5x<ft�<�<fti � n[jlx<p�jli<pDjlnlp$qt|Gx�qrni<p�ft�$p$qGx��¯x<pDh¯ftkDjGc �

E-e{|Gf�q'�Tegp��$x�v�x �XPNG`[OEO �EQGF8YPD*MRpEU?ORM��

FEU �>N8_GXyO�D*`PD?_GX T*YRU �>NGM B*QGF[YPD[MRpEU2ORM�� TEYRU �>NGMy`�� T*Y�U �>NGM � ���Z[MPDPU*ZGp �[`PDPBLK%O-,GZGD �%` �R` ��� � � ���

��

XPNG`[OEO ^[M8O�D �GQGF8Y��FEU �>N8_GXyO�D*`PD?_GX�[Y>_aT�b?`>_qp � WPDGZ?_qp*x�� �y`PZEx2O����

T*YRU �>NGM X�� �EQPF8YPD[MRpGU?ORMCK+BEQGF8YPD[M�pEU?O�M���\�� �����WPQ2OaD[Mab6KSY�U*D K+F*Z2_qp*D[N�p � ���PQGF[YRD[M�pEU>ORM�YGt ` \�� � Z2_axGB*D DEZ?_�`Rp*x8NGM _GO � �>X����

��

/¥i � �Tegp�~ �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t `Rp[T OEX�`Rp[t�PI� _qp2XPN�U[T*M� qb?`PDGB K+B�� I � t*YPZ O-,GZGD �PI

t[NGYG`PDyB*QGF8YPD*MRpEU?ORM ��t[NGYE`�D `�� t*NGYE`PD������Z[MRDGU*ZGp O-,PZED �%` ��`���� �� ���

_qp*D b?`8_qp � � �t[NPYE`PD r � Q � � �F*Z2_qp*D*t�� � �EB8`PD _GO DGB8Myt2_aZ2OaD NPMPx �����OEX�`Rp[t��� �Et���� �Er ���F*Z2_qp*D*t�� � �EB8`PD _GO DGB8M ORM8XRY�p[T NGMPx ��� �OEX�`Rp[t��� �Et���� �EQ ������ B*QPF8YPD[MRpGU?ORM���r �SQ � �F*Z2_qp*D*t�� � ^GB8M�Z[M8OaU>N�D _GO��Gt� �p���� � ���

���"! ���"! � � ��� � � �*� �bdcPnUpPnl��q�n}�Pxzmo�Pwgnoegf�qtcPn�jlwgx3ftfte�j�� x3j�qri<|regx<wO�P|ti3�<|Gxzm qrcDx�q�n'v<n'|t��f�qtkVhTnlp$q � cPi cVx<f§nlv3nl|§� x3j}n'hu|rn'jlkP|rftegi<pu�$pDi � f� nlwgw9�O�3kDf�q�qti�mUxz�3n¥e{q¤ftw{eg�<c$qtwg��moi3|tn¥egp$qtn'|tn5f�qre{pP�V� � n<¬ w{w6j}i3mo�PkTqtn�xzpDho�P|regp3q¢qtcPn�� x<j}qti<|re�xzwPi<�6p�kPm �Vn'|rf��<egv<n'pUi<poqtcDnj}i3momox<pDh¯w{egpPn<�

�Q�

Page 51: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

E-e{|Gf�q'�Tegp��$x�v�x �XPNG`[OEO � `8X�D[YRZ?_�`*N �

FEU �>N8_GXyO�D*`PD?_GX _qp*D t*`[X�D[YPZ?_�`*N � _ p*D p ���_�t�� � ���yp ���

Z*MPDGU*ZGpi] �� M*N[ORM��

Z*MPDGU*ZGpyp���t*`8X�D*YPZ?_�`*N �Sp��2]�� ��

FEU �>N8_GXyO�D*`PD?_GX�[Y>_aT�b?`>_qp � WPDGZ?_qp*x�� �y`PZEx2O����t*YRZ ��_qp*D _ �� ��_ `PZEx2O KSNGMRp*xEDPB ��_ ��� � �

WRQ2O�D[Mab KSYRU*D K F*Z?_qp*D*N�p ��`PZGx2O ��_ � ���4� � � �t*`8X�D*YPZ?_�`*N � oqp*D[MRx[MPZ�K F[`PZ8ORM>o pED��%`PZPx2O ��_ � � �����

��

/¥i � e{p£~ �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t �PI� _qp2XPN�U[T*M� [O�D*T[N[_ �LK+B�� I � t*YPZ `PD[Y8_ �RI

_qp*D t*`[X�D[YPZ?_�`*N � _qpED p ���_�t�� � ���yp ���

Z[MRDGU*ZGpi]��� M*N[ORM �

Z[MRDGU*ZGpyp ��t*`8X�D[YRZ?_�`*N � p��2]�����

_qp*D b?`8_qp ��_qp*D `PZEx>X � XaB8`PZ�� `RZEx2O ��� ���_qpEDi_��t*YRZ ��_ �� � _� `RZEx2X � _���� ���

F*Z2_qp*D*t�� � �>O)��� �ET� �p���� `PZGx2O �%_ ��� t*`8X�D*YPZ?_�`*N �%`PD[Y>_��%`PZGx>O �%_ � � � � ��

� �Kjli<kP|Gf�n3�$qtcPe�fdn}�Pxzmo�Pwgn§egfdn'p$qteg|tn'w{�UpPi<q[i<����n5j�q X i<|regnlp$qtn5hI�$ftioe�q¥hTi�n5f�p ¬ q¥f�cDi � xzp��Uiz�KqtcPn§pPe�j}n � � ��n5x�qrkP|tn5f¤iz��$x�v�xD�ObdcPn�¨tf�qtkDhTn'p$qrfrª nl�Pxzmo�Pwgn���|ri<m f�n5j�qtegi<p �D� � � �Txz�&i�v<n3��ftcPi � f[hPxzqrx�mUxzpDx<�<n'm�n'p$q¤egp��Vi<qtc �3x�v�x�xzpDh£~�����"! ���"� �+� � ����� � � �(�4% � � ������bdcPn���i<wgwgi � e{pP�)�P|ri<�3|rx<m |rn'x3hPf�e{pyx)f�qr|tegpP�V�IqtcPn'pujli<mo�PkTqrn'f�x)pPn � f�qt|re{pP������x3hPhTegpP�¯i3pPn�qti�n'x3jGc�jGcDx<|rxzqtn'|�x<pDh�P|re{p$qGf�qtcPnU|rn'ftkPw{q'� /¥i<qte�j}nUcPi � � nUmon5x<ftkP|tn qtcDnUw{n'pP�zqrcui<�¢qrcPnUi<|reg�<egpDxzwOf�qt|re{pP� x<pDh+xzwgw{iTjlxzqtnUft�Dx<jln ��i3|§qtcPnUpDn �i<pDn<�PxzpVh¯mUx<pDxz�3n�qrcPn�p�kPw{w��$�$qrn§xzq[qtcPn�n'pDhI�� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� I � t*YPZyF*Z?_ p*D*t � OEX�`Rp[t �PI

XaB8`RZ�� O�DEZ�b?YPT��XaB8`RZ�� YRZ?_ax?_qp[`*N ���_qpED NGM�p � O�DEZ[NGMRp �%YRZ?_ax?_qp[`*N ���XaB[`PZ�� XRYRF*Q � �XaB8`RZ���� b?`*NGNGY8X���NPMRp �c]�� �

���

Page 52: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

_qpEDi_ �����

t*YRZ � _ ����_: ENGM�p �_ ��� ���F*Z2_qp*D*t�� � �>X� �p ����YRZ2_ax2_qp*`*N���_ � ���XRY�F*Q��%_ ��� YPZ?_qx?_qp8`*N �%_ ���i]��

�XRY�F*Q��SNGM�p � � � �� � � I � pEU>NEN��EQED[M �PIZ[MRDGU*ZGp XRY�F*Q �

_qp*D b?`8_qp � � �XaB[`PZ�� O �F*Z2_qp*D*t�� � �EB8`PD _GO DGB8M O�DEZ?_ p*x �����I � ^GBc_PO�Y�p>NRQ Z[ME`GT8O�D[Y DPB8M t>_aZ2O�D OaF[`8XRMCK �PIOEX�`Rp[t��� �>O ��� O����F*Z2_qp*D*t�� � �[M8OaU8NRD _PO��>O �p���� O�DGZ�b?YGT���O�� ���

���"! ����� � � ��$ � �«�¬ m�i<�&nlp)qrioftkP�3�<n'f�qtegi<pVfl�

� %

Page 53: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �

� � � � �� � � ��� � � � �

� &

Page 54: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

v ��� � � ��� L¤n}��i3|tn � n§f�qrx<|�q5�Pf�i3mon§x3hTv�egjln<�

� EPi<|dxzp��oj}w�x<frf��3i<k�hPnGFDpPn3���<i�qri�qrcPn�nGM6i<|tq¢iz� � |re{qtegpP��x��P|re{p$q¢monlqtcPiTh���i<|¤e�q5�$|reg�<c$q¤x � x��<�3nlv<n'p�e{�K�<i3k � i3p ¬ qkDf�nUe{q�egp+qtcPnHFDpDxzw��P|ti3�<|Gxzm��T#¤q fti<monU�&i<egp$q�e{py�3i<kP|�hTn'�PkP�3�<egpP�D�-�<i3k ¬ wgw�jlnl|tqrxzegpPwg�£pPn'n'huqti �D|tegp$q�i<kTq�x<pi<����n5j�q�i<�®qtcDxzq�q����&n<�IxzpDh£e����3i<k cDx�v3n�qti)hTnGFVpPn'h�xUmon}qtcDi�h£qtcPn'p �6�<i3k£moe{�3c3q�pPizq5��« q§|tn5xzwgw{� � egw{w-�Vn�moi<|rnn�m�j}egnlp$q[e{p)qrcPn�w{i3pP�o|tkDp �/¥izqrn�qtcVx�q�e{�®�<i3k � x<p$q¥qti��&n xU� xzpDjl��~ ��� cDx<jG�3nl|5�P�<i3k£f�cDi<kPw�h�i�v<n'|twgi3x3h�qrcPn i<�&nl|Gx�qti3|'�D�PkTq�qrcDx�q5¬ f�pPi<qpPn'jln'frftx<|t�3�¡�nln�qtcDn�hTnlmoi � x<pDh¯hPnlmoi ��n}�Px<m��Dw{n5fl�

� « pPe�qregx<w{wg�<�&nl|r|�i3p�qtcPn�f�e�hTn iz�®mUxz��egpP��nlv3nl|r�$qtcPegpP�U�PkP�Dw{e�j�egp£�<i3kP|�jlwgx3ftftn'f'�¥bdcPn'|tn3¬ f�pPi�ftnlpDftn � |rn'f�qtwge{pD� � e�qrc¨��&nl|rm�e�frf�egi<pDªUx<w{i3pP� � e{qtc�i<qtcPn'|��PkD�3f'� ! cPegw{n «[�Vn'w{egnlv3n�qtcVx�q��D|ti3�Vn'|�hTn5f�eg�<p e�f�egmo�Vi3|�qGxzp$q�x<pDh��<i3k£f�cDi<kPw�hj}nl|tqrx<e{pDw{� qtcPegpP��x<�Vi3kTq � cDxzq¤ftcPi<kDwgh�x<pDh�ftcPi<kDwghTp�¬ qd�Vn��P|re{v�x�qrn�� �PkTqd�<i<kD|®qtcDi<kP�3c3qGf�egp¯x j}i3m�mon'p3q ���3qtcPn'|tn3¬ fpPio�<|rn'x�qd�PkP|r�&i3ftn�egp)qtkP|rpPegpP�U�<i3kP|d�P|ri<�<|Gxzm�egp$qti�xu¨��&i<wgegjln�f�qGx�qtn3� ª

� « pPe�qregx<w{wg�<�IhTi3p ¬ q � i<|r|t��xz�&i<kTq�kDfte{pP�s¨thTn'w{nlqtn5ªoqti���|tn'n�kP��kPp�kDf�n5h i<����n'j�qGfl�$z®i<k � e{wgwKn'v<n'p3qrkDxzwgwg�)pDnln'h qti¯hPiqtcDxzq'�<x<pDh�e�q®e�f � i3|�qrc�qrcPegpP��e{pP��x<�Vi3kTqOqtcPe�f0�&n}��i<|rnlcVxzpDh�xzpDh��PkPq�qtegpP��x§j}i3mom�n'p$q0egpo�<i3kP|Oj}iThTn¤qti§qrcDx�q®n M&n5j�q �u8NGY8X ��� � ] � p8MRJ u>NGY[X � �KGKEKIGIyTEM*NGMPD[M � ]��

� ��j}i<kD|rftn<�Oe{���<i3k ¬ v<n¯hPnGFDpPn5h�xuhTn'f�qt|rkDj}qti<| � frx��<�O��i3|�jlw{i$f�egpP� FDw{n5f�i3| � cVx�qtn'v<n'|0�}�O�<i<k�¬ wgwdpPnln5h+qti+hTi�qtcPe�fl�� qtcPn'| � e�f�n3�Di3m�e{q�qre{pD�UqtcPn T*MENGMPD[M ��kDf�q�j'xzkDftn'f�xUmonlmoi<|r�¯wgn'x<�6� � cPe�jGc e�f�pPi<q�egm�mon5hTegxzqtn'w{�)� x�qGxzw:�&x<w�qrcPi<kD�<c�<i<k)f�cDi<kPw�h)nlv<n'p$qtkDx<w{wg�+FP�¯e{q'�#¥p�n}�Pxzmo�Pwgn§iz�-kDf�egpP�y¨rhTnlwgn}qrn'ª egf[egp hTnlmoi��P�

� b�iokDftn #�¡P¡D� �0b§�DhTi�qtcPn§��i3w{wgi � egpP�Uf�i3m�n � cPnl|rn§x�q[qtcDn§qti<�)iz�0�<i3kP|d�P|ri<�<|Gxzm��� _qp?XPN�U*T*M G`8OGORMPZED K B��

v ��� e � ��� 6j � � � ��� w � :� �:� � �����"! � � � � ������� � $ � ����� � ��� � � � � �

egpDj}wgkDhTn5fl�P�3w{i3�Dxzw�f'��jlwgx3ftftn'f'��mon}qtcDi�hDfl�PmUx<e{p � ED|tn'n���kPpDj�qre{i3pDf[v3nl|Gf�kDfdmonlqtcPiThPf'�� TEMab?Y?] �0~¢i<����e{q�xzpVh¯kVf�n�¨�mUx<�<n'ª�qtiUjli<mo�Pegw{n�e{q'� /�izqte�j}n§qrcPn�j}i3momox<pDh¯w{egpPn<� �¥n'x<h�qtcDn�j}iThTn<�

� hTnlmoi � � hTn'moi � �O~¢i<����qtcPn�hTeg|tn5j�qti3|t�Ux<pDhUkDftn�¨tmox<�<n5ª§qtioj}i3m��De{wgn¥qrcPn�mUx<e{p��D|ti3�<|Gxzm�� �¥n'x<hUqtcPn§j}iThTn6FDw{n5fl�

���"! �"! � � ��� ����� � ��� �

j}i3kTq'�Vj}egp �Pj}n'|t|¥x<pDh�n'pDhTw:� E-w{kDftcPegpP��f�qt|rn'xzmUf'���i<|rmUx�qtqtn'h¯« � �i�v<n'|twgi3x3hTegpP��i<kPqt�PkTq¥i3�Vn'|rxzqti3|'�

���"! �"� � � � ������

f�qt|Gj}���<�Pf�qt|rpDj}���3��qtcPn�kDftn§iz�0mUxzp �

� N

Page 55: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

���"! ��� � ��� $ ����� $ � ��$ � $ �+� � ������fte��'nliz�

xzwgeg�<pPmonlp$q�P|rnGX xzwgw{iTj'x�qtegpP��f��Dx3j}n�xzpVh¯kVf�egpP�okP� xz|r|rx��Uft�Dx<jln'f[ftkDjljln'frf�egv<n'w{�

���"! ��� � ��� $ �����&$ �!un<¬ w{w�hPi�|GxzpVhTi<m FVw{n�« � � egp)jGc�kPpP�Tfdi<� � � � �$�$qrn'f'�

���"! ��� � ���*$ �j}|rn'xzqtegpP�D�Ti3�Vn'pPegpP�D�Pjlw{i$f�egpP�D�T|GxzpVhTi<mowg�U|tn5x<hTegpP����|ti3m qtcDnlm��DhTn'w{nlqtegpP���kPpDw{egpP��e{pD�)�¢qtcDnlm���"! ��� � ��������� � � ��� �� $ %'�*$ �� jlj ��� ~ ����� jl�P� � � c ��� � ����� iV� � nl�Tn<�I� �Pe{p���"! ��� � �����+� $ � �� � $! $ ��$ �(� $ ��O�Tn'|rjlegftn � e�qrcUi<pPn¥jli<����iz� x<p�i3����n'j}q�xzpDh�q � i§�Vi3e{p$qrnl|Gf0qti�e{q'� �[nlqtkP|rpPegpP��x§�&i<egp3qrnl|Oqri�xzpoi<����n'j�qO��|ri<m�x���kPpDj}qtegi<p �

hTe M&n'|tn'pDj}n§�&n}q � nln'p�x<p¯i3����n'j}q¥xzpDh�x��Vi3e{p$qrnl|dqti�x<p¯i3����n'j}q'�®¦�f�egpP�opPn � xzpVh¯hTn'w{nlqtn3�

���"! ��� � � � � � # $&� $ �����*��� � � � � ��� ��������nl|r|ri<|[hTn}qrn'j}qtegi<p¯��|ti3m�kPpPe{�¯ft�Tf�qrnlm j'xzwgwgf'�

!un<¬ |tn�pPi<qo�3i<egpP�uqti+egm��Dw{n'm�n'p$qUqtcPn£fti<�PcDegf�qte�jlxzqtn'h 5$kPnlkDe{pP�+mon'jGcVxzpPe�f�m qtcDxzq�m�egpPeg�Dx<ftn£hTe�hI� � cPegjGc�xzwgwgi � fnl|r|ri<|Gf®qri��&n�qt|Gx<jln'h��Vx<jG�6�0« pDf�qrn'x3hI� ��kDf�q¤qr|t��qtiUhTn}qrn'j}qdn'v<n'|t�Un'|t|ri<|dxzpDh¯|rn}qtkD|tp)xzp�xz�P�P|ri<�D|te�x�qrn�nl|r|ri<|dj}iThTn�qti�qtcDnjlx<w{wgnl|5�-«�hTn'x<w{wg�<� � n � e{wgwV�D|ti3�Dxz�$x�qtn¤qrcPn�n'|t|ri<|�jliThTn¥kP�UqrcPn�j'xzwgwPqr|tn'n�kPp$qtegw&e�q¤�<n}qGfOqri�qtcPn�kDftnl|5�<qri�qtcPn'p��&n�hTe�f��Dwgx��3n'h���&i3frfte{�Pwg��v�e�xUx � nl�)�Dx<�<n��}�­®kPqdegp��P|re{p$q¥f�qGx�qrnlmonlp$qrf�xzwgi<pP� qtcPn � x��<�Pfti�qtcDxzq[�<i<k � egw{w �&n�xz�Dw{n�qti�hPnl�PkP� � cPn'|tn�qrcPe{pD�3f¥x<|tn�j}i3moe{pP� ��|ri<m��

� O

Page 56: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� P

Page 57: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �

� � � � ��� ��� � � � � � � � � �

� ��� � ����� �� ��� �9� � ��� ��� �� ��� � �=� � � e � � ��� � ����� ���������~¢i<mo�Dx<|te�fti<p�i<����kPpVj�qtegi<p �&i<egp$qtn'|rf �9xzpDh�qtcPn§� x3j�q[qrcDx�q[qrcPnl�)xz|rnlp ¬ q¥j}wgi3ftkP|tn5f � � e{qtc�e{pDpPnl|�jlwgx3ftftn'f'�� �%d g ��� ���� :� � � :� ������� �� :� ��� ��#¥|r|ri � f¢v3nl|Gf�kVf¤hPizqrf'�

� �Sv � � � � � � � ����� � �������� ��� e � � �=� ��� g � � � � � � � �� ��� � ����� ��� � � � � :� ��� � �� ���� ��� � j :� � � ��� � :� � � � �� ���� ��� � �� g � 6j � � � ���� ���

� �

Page 58: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� �

Page 59: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �

� � � � � ��� ��� ��� ��� �

� ��� e � � j�� �=� ��� e

� pDjln �3i<kP|§f�i3kP|Gj}n�jli�hPn � K�X FVw{n!��e�f§ftx�v3n'h)qri)hTe�ft�&�I�3i<k ¬ wgw � xzp$q�qti)�VnUxz�Dw{n�qti�j}i<mo�Pegwgn�x<pDh£|rkPp�e{q'� � nl|rn�egf�qtcDn�<n'pPnl|Gxzw6�P|riTj}n5hTkP|rn<�

EPi3|¢fte{mo�Pwgn��D|ti3�<|GxzmUf-qtcDxzq¤x<|tn�x<w{w6j}i3p$qrxzegpPn5hoe{p�i3pPn FVw{n3�3�3i<kUpPn'n'hUi3pPw{�o|rkPpoqtcDn�j}i3mo�Pe{wgnl|5�ObdcPn�jli<mo�Pegw{n'| � egw{wxzkPqti<mUxzqte�jlxzwgwg��|rkPp¯qtcPn§wge{pD�<nl|5���P|ri�hPkDj}egpP�oxzp�nl�Tn'j}kPqrxz�Dw{n��P|ri<�<|Gxzm���EPi<|dnl�Tx<mo�Pw{n3�Te��-« � |re�qrn�qrcPn���i<wgw{i � egpP��j}w�x<frf�e�j�P|ri<�3|rx<m �� _qp2XPN�U[T*M� [O�D*T2_�YCK+B��_qp*D b?`8_qp � � �

F*Z2_qp*D*t�� ���[M*NENPY��8YPZ[NPT��� �p ������

xzpVh�«dftx�v3n�e{q�x<f B8M*NENGY�K%X �$«¤j'xzp�j}i<mo�Pegwgn�e{q�x<f¤��i3w{wgi � f � � x2XEX B8M*NENGY�K%X� `CKSYRU*D�[M*NGNGY��8YPZ8NPT��¦¥pP��i<|tqtkPpDxzqtn'w{�3�zqtcDndf�qrx<pDhPx<|rh �Vn'cDx�v�e{i3|0iz�DqrcPn�~�j}i<mo�Pegwgnl|Oe�f-qti§�PkTqOqrcPn[i<kTqr�PkTq®egpUx6FVw{n¥j'xzwgw{n5h `CKSYRUED �.!un¥xzwgmoi3f�qpPn'v<nl| � x<p$q¥qtcPe�f'��« p�� x<j}q'�&qtcDn f�qrxzpVhPxz|Gh ¦¥pPe{� �P|Gx<j�qregjln�e�f¥qri��PkTq�qtcPn n}�Tn'jlkTqrx<�Pwgn��P|ri<�<|Gxzm e{p�x+FDwgn�qtcVx�q�cVx<f¥pDin}��qrnlpDfte{i3p �Ob�iUpVxzmon�xzp)i<kTqr�PkTq FDwgn§��i<|dqrcPn ~>jli<mo�Pegw{n'|'� � n§kDftn§qtcPn �>Y f � e�qGjGc �� x2XEX B8M*NENGY�K%X��GY�B8M*NENPY�yB8M*NENGY�[M*NGNGY��8YPZ8NPT��

��, / &-$'& (P�¤bdcPn¥~+jli<mo�Pegw{n'|-hTi�n5f�p ¬ q®jGcPn'jG��qrcDx�q-qtcPndegpP�PkTq FDwgn¤egf0x¥|rn'x<wTf�i3kP|rjln FDwgnd�Vnl��i<|rn�e{q0i3�Vn'pDf0xzpDh hTn'f�qt|ri��TfqtcDn�i<kTqr�PkTq FDwgn<��¡�iV�Pe{�-�3i<k��3n}q[qrcPn'ftn�q � io�Dx3jG� � xz|GhPf'���<i<k � e{wgw�hTn5f�qr|ti����<i<kD|¤�D|ti3�<|Gxzm �� x2XEX B8M*NENGY �PYyB8MENENGYCK%X � � �8s � ���

EPi3|�qrcDx�q§|rn'x<fti<p�xzmoi<pP�¯izqrcPnl|Gfl�6«¥|rn'jli<momonlpDh�j}i<mo�Pegwge{pP�)kDfte{pD� b?`��[M �§bKi¯kDftn b2`��[M �V�3i<k��<egv<n�qrcPn�pDxzmon�iz�qtcDn[qtcPegpP���3i<kUxz|rndqt|r��e{pD�§qti�j}|rn'xzqtn8� pPizq®qrcPn[qrcPe{pD���<i3kox<w{|rn'x3hT��cDx�v3n��0x<pDh b?` �[M qr|tegn'fOqti FD�3kP|rn[i<kTq®cPi � qti j}|rn'x�qrne{q'�O« q � egw{wIqrnlwgw �<i3k�qrcPn�f�qtnl�Vfde�q¥kDftn'f'� � n'|tn3¬ f[x<p¯nl�Pxzmo�Pwgn �� b?`��[M B8M*NGNGYx2XEX��Rx B8M*NENPYCK%X �GY B8M*NENGY�yB8M*NENGY�[M*NGNGY��8YPZ8NPT��� �4-F& OB&Q .N�&QD'+20#$�"!D@$�0 (*&QH6D'+ +#� 0.+#H6D/I@5 �! 8'�!3F 3/D/$ �*O/ .�!(*OF+ �F0.� +.-/&�0#&)H6 .&����������� �� �BD/�6+ � �! �$��� NQ� I/&!P � �!3F 2H6N�+.3�H6> OF #�!(*OF+$�02O/ #�!1/H61/> 8KI/$ �:&Q .&�D +QP�� �!D < +2+G8FOB&)+#-F&)O:&� .NQ&�D'+,0.$�"!D 4-/&�D +. .8�$�D/"�+.-/&�0#&)N��!(*(@H6D/IF0 P

� �

Page 60: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� n'|tn3� b?`��[M cDx<f FD�<kP|rn'hui3kTq�qtcPn¯j}i<|r|rn'j�q x2XEX jli<momUxzpDhI��« q�cDx<f�xzw�f�i x<hDhTn'huqrcPn �*x f � e{qrjGcuqri�x<hPh+hTn'�PkP�3�<egpP�egpT��i<|rmUx�qtegi<p�� � cPegjGc�e�f[x��<i�iTh�e�hTn'xD�« �¢jli<mo�Pegw{egpP���3i<kP|��P|ri<�3|rx<m�e�f�moi3|tn�j}i<mo�Pwge�jlx�qrn'hI�6�3i<k � i<|§f�i3m�n'i<pPn!�¥j'xzp�jl|tn5x�qtn�x �[`��[MPt2_RNGM qrcDx�q§e{pVj}wgkDhTn'fqtcDn§x3hPhTe{qtegi<pDx<wV|rkPwgn'f'� ! cPnlp)�<i3k�|tkDp b?`��*M �$e�q � egw{w6|rn'x3hUqtcVx�q FDw{n§xzpVh�kDftn�qtcPi$f�n�|tkPwgn'f¢qri�jli<mo�Pegw{n��<i3kP|¢�D|ti3�<|Gxzm��bdcPe�fdegf[x qr|tn'm�n'pDhTi3kDf[j}i3p$v3nlpPegnlpVj}n<�Tfte{pVj}n§�<i3k)hTi3p ¬ qdcVx�v<n�qtio|tn'monlm��&nl|dqrcPn�j}i3mo�Pw{nl�Te�q��3�T�<i<k.��kDf�q¥cDx�v<n�qti � |re�qrne{q�hTi � p¯i3pDj}n3�

� ��� e � � j�� �=� ��� e����

bdcPe�f�ftcPi<|tq�ftn'j�qre{i3pyj}i�v<n'|rf�qrcPn�frxzmon��3|ti3kPpDhux<f�qrcPn��P|rn'jln'hTegpP�£ftn'j}qtegi<p+iz�¥j}i3mo�Pe{wgegpP�u~���nl�Pj}nl�Pq�e�q5¬ fo~ ��� �0f�i£e{��<i3k ¬ |tn�|tn5x<hTegpP��qtcDegf¥hPi�jlkPmonlp$q¥f�qr|rx<e{�3c$q¤qrcP|ri<kP�3c �T�<i3k)j'xzp�f���eg�¯e{q¥i<|¥ft��e{m�e{q'�

� pDjln��<i3kP|�fti<kP|Gj}n�jliThTn � K%XEX i<| K%XaFEF FDwgn��¥egf�frx�v<n'h¯qri¯hTe�f��6�&�<i3k ¬ wgw � xzp$q¥qri��&n x<�Pw{n�qti¯jli<mo�Pegw{n xzpDh |rkPp£e{q'�� n'|tn§e�fdqtcDn��<nlpDnl|Gxzw6�P|ri�jln'hTkD|tn3�EPi3|�f�egmo�Pwgn��P|ri<�<|GxzmUf�qtcVx�q�xz|rn�xzwgw�jli<p$qrx<e{pPn5h�egpyi<pDn+FDw{n3���3i<k+pPnln5hui<pPwg��|rkPpuqtcPn¯j}i<mo�Pegwgnl|5��bdcPn�jli<mo�Pegw{n'|� egw{w�x<kTqti3mUx�qte�jlx<w{wg� |rkPp�qrcPnUwge{pP�3nl|5�I�P|ri�hPkDj}egpP� xzpun}�Tn'jlkTqrx<�Pwgn��D|ti3�<|Gxzm�� EDi<|�n}�Px<m��Dw{n3� e��d« � |re{qtn�qtcPno��i3w{wgi � egpP�v�xz|regxzqtegi<p¯iz�Ox�jlwgx3ftfte�j��D|ti3�<|Gxzm �� _qp2XPN�U[T*M� 8_�Y8O�DGZ[ME`ab �_qp*D b?`8_qp � � �

XRY�U*D � ����`*NEN X�Yab?M��8`8X �yp8Y�J �'Q�� B8ME`RZ � MRp[T*N��Z[MRDGU*ZGp����

xzpVh�«dftx�v3n�e{q�x<f x[YEYGT��EQ[MCK%XEX �3«¢j'xzp j}i3m��De{wgn§e�q�x3f¤��i<wgw{i � f �� x��� x[YEYGT��EQ[MCK%XEX� `CKSYRU*D����`ENEN XRYab?M �8`[X �yp8YRJ �'Q�� B[ME`PZ

¦¥pP��i<|tqtkPpDxzqtn'w{�3�3qrcPn�f�qrx<pDhPx<|rhU�&nlcVx�v$egi<|¢iz� qrcPn§~ ��� j}i3m��De{wgnl|¤egf�qti��PkTq¤qtcDn�i3kTqt�PkPq¤egp¯x;FDw{n�jlx<w{wgn'h `CKSYRU*D ��!unxzwgmoi3f�q�pPn'v<nl| � x<p$q¥qtcPe�f'�¥« p � x<j}q'�VqtcPn�f�qGxzpDhDxz|Gh ¦¥pPe{� �P|rx3j�qregjln�egf¥qti¯�PkTq�qrcPn�nl�Tn'j}kPqrxz�Dw{n��D|ti3�<|Gxzm�egp�x+FVw{n�qtcDxzqcDx3fdpPion}��qtn'pDf�egi<p��®b�iopDx<m�n�x<p)i3kTqt�DkTq FDwgn§��i<|dqtcDn ~ ���>jli<mo�Pegw{n'|'� � n§kDftn�qrcPn �>Y f � e{qrjGc �� x��� x[YEYGT��EQ[MCK%XEX��GYyx[YEYGT��EQ[M� x[YEYGT��EQ[M����`ENEN XRYab?M �8`[X �yp8YRJ �'Q�� B[ME`PZ

EPi3|�qrcDx�q§|rn'x<fti<p�xzmoi<pP�¯izqrcPnl|Gfl�6«¥|rn'jli<momonlpDh�j}i<mo�Pegwge{pP�)kDfte{pD� b?`��[M �§bKi¯kDftn b2`��[M �V�3i<k��<egv<n�qrcPn�pDxzmon�iz�qtcDn[qtcPegpP���3i<kUxz|rndqt|r��e{pD�§qti�j}|rn'xzqtn8� pPizq®qrcPn[qrcPe{pD���<i3kox<w{|rn'x3hT��cDx�v3n��0x<pDh b?` �[M qr|tegn'fOqti FD�3kP|rn[i<kTq®cPi � qti j}|rn'x�qrne{q'�O« q � egw{wIqrnlwgw �<i3k�qrcPn�f�qtnl�Vfde�q¥kDftn'f'� � n'|tn3¬ f[x<p¯nl�Pxzmo�Pwgn �� b?`��[M�x[YEYPT��*Q[Mx��� x[YGYGT��*Q[M�K%XEX �GYyx[YEYGT �*Q[M� x[YEYGT��EQ[M����`ENEN XRYab?M �8`[X �yp8YRJ �'Q�� B[ME`PZ

« �¢jli<mo�Pegw{egpP���3i<kP|��P|ri<�3|rx<m�e�f�moi3|tn�j}i<mo�Pwge�jlx�qrn'hI�6�3i<k � i<|§f�i3m�n'i<pPn!�¥j'xzp�jl|tn5x�qtn�x �[`��[MPt2_RNGM qrcDx�q§e{pVj}wgkDhTn'fqtcDn§x3hPhTe{qtegi<pDx<wV|rkPwgn'f'� ! cPnlp)�<i3k�|tkDp b?`��*M �$e�q � egw{w6|rn'x3hUqtcVx�q FDw{n§xzpVh�kDftn�qtcPi$f�n�|tkPwgn'f¢qri�jli<mo�Pegw{n��<i3kP|¢�D|ti3�<|Gxzm��bdcPe�fdegf[x qr|tn'm�n'pDhTi3kDf[j}i3p$v3nlpPegnlpVj}n<�Tfte{pVj}n§�<i3k)hTi3p ¬ qdcVx�v<n�qtio|tn'monlm��&nl|dqrcPn�j}i3mo�Pw{nl�Te�q��3�T�<i<k.��kDf�q¥cDx�v<n�qti � |re�qrne{q�hTi � p¯i3pDj}n3�

� �%d � �� ���� � e e � � j�� �� �bdcPn -0/�¦ �P|ti ��n'j}q¤cDx3fd�PkPegwgh�x�~ j}i<mo�Pegwgnl|¤��i<|¥x<w{moi3f�q¥xzp���cDx<|rh � x<|tn3�$fti�qtcPn.-0/�¦�~ j}i3mo�Pe{wgnl|8� x2XGX �}�TegfdpPn5xz|rw{�kP�Pe 5$kPe{qti<kVfl� ¡Ti¯e�f�e�qGf�jli<mo�Dx<pPe{i3p+~����aj}i<mo�Pegwgnl|5� x���� � z®i<kuf�cPi3kPw�h FD|Gf�q§��pPi � qrcDx�q§�3j'j � ��+,+ � e{wgwOn}�Tn'jlkTqtn qtcDn

� �

Page 61: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

wge{pP�3nl|0��i3|O�<i<k��zf�i§�<i3k�hPi<p ¬ q®cDx�v<n¢qti§wgn'x<|tp qti§kDftn¥x§f�n'�Dxz|Gx�qrn¢�P|ri<�3|rx<m���bdcPnl|rn[xz|rn<��cPi � nlv3nl|5�zx���n � j}i<momUxzpVh X:wgegpPnf � e�qGjGcPn'f¤qrcDx�q�x<|tn§egm��&i<|tqrx<p$q �

�1 bdcPe�fdmon'x<pDf¢qti��PkTqdqtcPn§i3kTqt�PkPqdi3p�qrcPn���i<wgw{i � egpP� FDw{n'pDxzmon3��!+xz|rpPegpP� � �$jlj � � +,+ hTi3p ¬ q[jGcPn5jG�oqtcDxzqd�3i<k ¬ |rn�pPi<q

i�v<nl| � |re�qre{pP��fti<monlqtcPegpP��egmo�Vi3|�qGxzp$q'�Tfti��Vn§jlx<|tnl��kPw:� z®i3k ¬ w{wV��i<wgw{i � qrcPe�f¢f � e�qGjGc � e{qtcUqrcPn�pDxzmon�i<� �<i3kP|�i3����n'j}qFDw{n � O�Yab?MPDGB?_qp*x KSY �Oi<|dqtcDn�pDxzmon§iz�0�<i3kP| FDpDxzwInl�Tn'j}kPqrxz�Dw{n3��� bdcPe�f[mon'x<pDf[qri�j}i3m��De{wgn�i<pDw{�3�DhTi<p�¬ q�wgegpP�6� #�f[«dmonlp$qtegi<pPn5hI�PqrcPn�jli<mo�Pegw{n'| � e{wgw�egp�v<i3�<n�qtcPn�w{egpP�<n'|'�&xzpDh)e{q�hTi�n'ff�ioxzkTqri<mUx�qregj'xzwgw{�3�TkPpPwgn'frf[�<i3k¯f�qti3�)e{q'�®bdcDn �?X i3�Tqtegi<p)e�fdcPi � �3i<k�f�qri<�)qtcPn�jli<mo�Pegw{n'|¤��|ti3m�wge{pP��egpP�D�

�� bdcPe�f¢m�n5xzpDf�qti�j}i3m��De{wgn � w{egpP�oe{p¯f�i3m�n�hTnl�DkP�<�3e{pP��e{pT��i3|tmUxzqtegi<p �O¦�ftn}��kDwVe{���<i3kU�Pw�xzp�qri�kDftn¥qrcPn -0/�¦ hPnl�PkP�3�<n'|� x*T�� �}�

�� ?�&%& bdcPe�fom�n5xzpDf�qriy�P|re{p$q�xzwgw � xz|rpPe{pD��mon'frfrxz�<n5fl�>¡�i3mon � xz|rpPegpP�3fox<|tn�pPi<q�hTnln'm�n5h e{mo�&i<|tqrxzp$qUnlpDi<kP�3c�qri

m�n'p$qtegi<p)kPpPwgn'frfd�<i<k)kDftn§qtcPe�f¥f � e�qGjGc �

� �Sv � ������� ���� pDjln��3i<k�cDx�v3n�x<p�n}�Tn'jlkTqrx<�Pwgn��P|ri<�3|rx<m��<�<i3k¯j'xzp�|rkPp�e{q ��kDf�q¤���oq����PegpP� e{qrf¤pDx<mon�qri�qrcPn�¦�pPe{���P|ti3mo�Tq'�®bdcPn'|tn�egfpPi�n�5$kPegv�xzwgnlp$q�qri�qrcPn¯¨%��x�v�x<ª�jli<momUxzpDh�qtcDxzqdjli<mon'f@FD|Gf�q¤i<p�qrcPn§j}i<momUxzpVh�wge{pPn3� �O�Pxzmo�Pwgn'f¢iz� qrcPe�f¤x<�P�&n'xz|¤egp�qtcDn�P|rn'jln'hTegpP�Uf�kD�Df�n5j�qre{i3pDfdi<p�j}i3m��De{wge{pD��~ xzpVh�~���� �P|ri<�3|rx<mof'�

bdcPn � x��)qtcVx�q�¦�pPe{��hTi�n'f�qtcPe�f�egf�����w{i�i<��egpP��qrcP|ri<kP�3c�xzwgw�qrcPnohTe{|rn'j}qti3|tegn'f�i<p��3i<kP|¯¨��DxzqtcDª�kPp$qtegw0e�q FDpDhPf�i<pDnqtcVx�q�cVx<f�qtcPn�ftx<m�n pDxzmon�x3f¥qrcPn�pVxzmon��3i<k�q����Vn5hI��« q�qtcDnlp£|rkPpDf�qtcDxzq6FDwgn<��bdcPe�f�e�f¥qrcPnoftx<m�n��P|tiTjln'hTkP|rn�e{q�kDftn'f��i<|[|rkPpPpDe{pP�o�P|ri<�3|rx<mUf¢wgeg�<n N[O i<| x2XEX i<| Mab?`8XGO �¡�i3m�nlqtegmon'f'�KqrcPe�f��P|riTj}n5hTkP|rnU� xzegwgf � ¦¥pDe��ynle{qtcDnl|ohTi�n'ftp ¬ q FDpDh+qrcPn��D|ti3�<|Gxzm�� e�q5¬ f pPi<q i<p��<i<kD|£¨��DxzqtcDª)��i3|�e{qFDpDhDf¢fti<mon}qrcPegpP��nlw�ftn[qtcDxzq¢cDx3f®qrcPn�frxzmon¥pVxzmon¥egpDf�qrn'x3h�©qr|t� � |te{qtegpP��xzpDho|rkPpPpPegpP��x��P|ri<�<|Gxzm jlxzwgwgn'hy¨twgfrª �}�K« �IqrcPegfftnlnlmUf¤qriU�Vn�cDx<�P�&nlpPegpP��qtiU�3i<k �Pjli<pDftkPw{qd�3i<kP|dkPpDe���hTiTj}kPmonlp$qGx�qtegi<p)i<|[wgiTjlx<wI�<kP|rk �

� ��� �� 6j � � � � e � � j�� � � � ��� ��$x�v�x�egf�x�moiThTnl|rp w�xzpP�3kDxz�3n�qtcDxzq�hT|rn � i3p qtcDn��&n'f�q�e�hTn'x3f¥i<�®n}�Tegf�qtegpP�¯wgx<pP�<kDx<�<n5f � e{pVj}wgkDhTegpP��~���� � �PkTq�hTe�h pPi<qcDx�v3n0qti�ftkP�P�&i<|tq i<w�hTnl|�m�iThTn'wgf�iz�Pj}i3mo�Pe{w�x�qre{i3p�xzpDh§wge{pD�$egpP�V�BL ��xz|rpPn�¡$qr|ti3kDf�qr|tkD� �lqrcPn¢hPn'fte{�3pPnl| i<�-~ ����� � x3fI�PkPegw�hTe{pD�cPe�f¥w�xzpP�3kDxz�3n�i<p�qrcPn�m�kVjGc i<w�hTnl|�~ w�xzpD�<kDx<�<n<�Px<pDh fti�e�q�|tnlqrx<e{pDf¥mox<p���iz�OqrcPn�i3wghTn'|¥moiThTnlw�f�i<�®j}i<mo�Pegw�x�qtegi<p x<pDhwge{pP��egpP��qtcDxzq�hTi<moegpDx�qrn'h)egp¯qrcPn��Dx3f�q5�� ! cVx�q�qrcPe�f�mon'x<pDf¥e�f[qrcDx�q � cDx�q��<i3k ¬ wgw��&n�wgn'x<|tpDe{pP� � egwgw-ftnln'm � nleg|rh �&jli<moe{pD�U��|ti3m x��3x�v�xU�&nl|Gf��&n'j}qtegv<n3�D�PkTqcPe�f�qri<|regj'xzwgw{��ft�&n'xz��egpP�D�Te{q'¬ f¥�$x�v�x�qrcDx�q¥e�f[pPn � xzpVh)hPeYM6nl|rnlp$q'� L¤nlq�qtn'|'�Tegp�mUxzp�� � x���f'���PkTq¥pPi<q�x�q¥xzwgw¥¨rf�qGxzpDhPx<|rh � ª)�

� e�f�qti<|re�jlxzwgwg�<�0��n � �P|ri<�<|GxzmomoegpP�£w�xzpP�3kDxz�3n'f cDx�v<n)f���p$qrx3j�qte�j¯nlwgnlmonlp$qrf qriu�D|tn5xz�+kP� �P|ti3�<|GxzmUf�egp$qtiyftnl�Dx<|rxzqtnFDwgn'f'�0« p¯¡TjGcPn'm�n�xzpDh�~¢i3mom�i3pTI e�ft� �<��i3|¢nl�Pxzmo�Pwgn<��x��P|ri<�<|Gxzm egf ��kDf�q¤x f�nlq¢iz�I��kDpDj�qre{i3pDf¢x<pDhov�xz|regx<�Pwgn'f'�K« p�n'e�qrcPnl|w�xzpP�3kDxz�3n<�zqrcPn�n'w{n'monlp$qrf¢jlxzpU�&n��DkTq¤egp$qti�ftnl�Vxz|Gx�qtn FVw{n5f¢x<pDhUf�n'�Dxz|Gx�qrnlwg� jli<mo�Pegw{n5h�xzpDhowgi3x3hTn'h �3�PkPq�qtcVx�q'¬ f¢nlp$qteg|tn'w{�kP�)qti�qrcPn��P|ri<�<|Gxzmomonl|q{�e�q5¬ fdpDizq¥|rn�5$kPeg|tn5h����UqrcPn�wgx<pP�<kVxz�<n3�

�$x�v�xD��kPpPwge{�3n�qrcPn'ftn§i<w�hTnl|[w�xzpD�<kDx<�<n'f'�$nlpDjli<kP|Gxz�3n'f¤x moiThTn'w � cPnl|rn§n'x<jGc�j}w�x<frf¤egf[f�qti3|tn5h�egp�x�hPeYM6nl|rnlp$q FDwgn<�Pn5x<jGcFDwgndegf0ftnl�Dx<|rxzqtnlwg��j}i3m��De{wgn'hI�3xzpDh�qtcPn[j}i3mo�Pe{wgn'h;FDwgn'fOxz|rn�wgegpP�<n5h�qri<�<nlqtcPn'|-xzqO|tkPpRX9qre{mon¤�$�§qrcPn[�3x�v�x6J�eg|�qrkDxzwRW£x3jGcPegpPn� � J W7��� � i3�Vnl��kPwgw{�3�TqtcPe�fdwgi<pP�of�n5j�qre{i3p � egw{wI�3e{v3n��<i3k¯x pPn � �Vn'|rft�&n'j�qre{v3n�i3p � cDxzqdqtcPi$f�n�qtn'|tmUf¤mon'xzp��O« � i3kPw�h�wge{�3nqti ��kDf�qdqtnlwgwI�<i3k�cPi � qri�hPi��$x�v�x X f�q���wgn�j}i3m��De{wge{pD��x<pDh�wge{pD�$egpP�oegp�~ �����T�PkPqdegp)i<|GhTnl|¢qti�n}�T�Pw�xzegp � cDxzq¤e�f¤�<i3e{pP� i<p �«¤pPnln5h�qriU�<egv<n§�<i3k�moi<|rn§iz�-qtcPn�cPe�f�qti<|r�<�O­�w{n5x<ftn��&n'x<| � e�qrc)mon3�

����� � ��� ��$ � � � ��$ ���W i$f�q�wgx<pP�<kDx<�<n5f�hTi�pDizq |rkPp�i3p�x£v�eg|�qrkDxzw¢mUx<jGcPegpPn�wgeg�<n�qrcPn¯� J W��-« ps�3x�v�xP�-qrcPn¯jli<mo�Pegw{n'| � G`�[`8X ��qt|GxzpDftwgxzqtn5fqtcDn��$x�v�x�f�i3kP|Gj}n�jli�hPn egp$qti¯�$x�v�xU���$qtnoj}iThTn<� � cPe�jGc£e�f�qtcPn�mUx<jGcPegpPnGX j}iThTn�iz�®qrcPn�� J W��&« pVf�qrn'x<h �&moi$f�q§j}i<mo�Pegwgnl|Gfqt|GxzpVf�w�x�qrn�qrcPn�f�i3kP|Gj}n§j}iThTn§e{p$qri qrcPn�mUx<jGcPegpPn X jli�hPn�i<��qtcDn��Dxz|tqte�j}kPw�xz|dcDx<|rh � x<|tn�qtcDxzq¤qrcPn��P|ri<�3|rx<m�e�fd|rkPpPpPegpP�oi<p �bdcDxzq'¬ f � c$��qtcPn��D|ti3�<|Gxzm�cDx<f¤qriU�Vn�|rnGX j}i3mo�Pe{wgn'h���i<|¥hTe M6nl|rnlp$q¥cDxz|Gh � xz|rn<�L¤n'j'xzkDftn¥qrcPnl|rn�e�f¤pPiU�QJ Wy�$qtcPn§|rn'ftkPw{q¤i<� qtcPn�jli<mo�Pegwgxzqtegi<p�m kDf�qd�&n§x�¨rj}i<mo�Pwgn}qrn'ª n}�Tn'jlkTqrx<�Pwgn<�Tftx�v3n'hUegp�x;FDwgn<�bKi�|tkPpoqrcPe�f®�P|ri<�3|rx<m)���3i<ko�<egv<n[e{qrf�pDxzmon[i3poqtcPn�jli<momUxzpDh�wge{pDn<�)��kDf�q¤x<fO�3i<k � i3kPw�h E`�[` � E` [`8X i3| Mab2`8XEO � �§n'nl�

�Q�

Page 62: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

Compiler

Compiler executable

Compiler

linker

object for foosource for foo

source for I/O

source for math

object for I/O

object for math

foo.c foo.o

foo

libmath.a

stdio.a

E-e{�3kP|rn;%P� � � bdcPn�f�qt|rkDj�qrkP|tn�i<�®f�n'�Dxz|Gx�qrn�j}i<mo�Pegw�x�qtegi<p£x<pDh�wge{pP��egpP�D�[bdcPn��P|ti3�<|Gxzmomonl| � |re�qrn'fdqrcPn fti<kD|rjln�j}iThTn���i3|x��D|ti3�<|Gxzm�qrcDx�q � e{wgw0�Vn�jlx<w{wgn'h ¨���i�iD� ª>¡�kP�P�&i3fte{pD��qtcDn �P|ri<�3|rx<mom�egpP�Uw�xzpP�3kDxz�3n�egf�~��&qtcPn�f�i3kP|Gj}n�jli�hPn � i<kPw�h �&njlx<w{wgn'h tEYEYCK%X x<pDh�jli<|r|tn5f��&i<pDhDfdqti¯qtcPn �Vi��£xzq�qrcPn�kP�D�Vn'|�wgn}�©q5��bdcPn��P|ri<�3|rx<mom�n'|¥|rkPpDf�qtcPnoj}i3m��De{wgnl|�qti)j}i<mo�Pegwgnt*YEY�K%X xzpDhU�D|tiThTkDjln t*YEY�KSY � � cPe�jGc�e�f®qrcPn�i3����n'j}q¤jli�hPn<�ObdcPnlp�qtcPn�qtcPn��P|ti3�<|Gxzmomonl|®|rkPpDf®qtcPn�w{egpP�3nl|®qri�wge{pD� t*YEYCKSY� e{qtc�izqrcPnl|[i3����n'j}qdmoiThTkPwgn'f[qtiU�P|riThTkDj}n�xoj}i3mo�Pw{nlqtn§n}�Tn5j}kTqGxz�Pwgn<�Dj'xzwgw{n5h t*YEY �

qtcDn � i<|Gh # �E#03=** , � " #�egp�moegpDh � qtcDn � i<|GhUw{i�i3��f�w{eg�<n�xzp�x3h ��n'j}qtegv<n3�3�PkPq¤moi3f�q[j}i<mo�PkPqtnl|dfrj}egnlp$qte�f�qGf�kVf�n�e�qdx<f¤x�pPi3kPp��i<|¥xojli<mo�Pwgn}qtn��De{pDx<|t���P|ti3�<|Gxzm��# qt|Gx<hTe{qtegi<pVxzwdmoi�hPnlw[iz�§j}i3m��De{w�x�qre{i3p�e�f�qtcDxzq�qrcPn j}i3m��De{wgnl|o|rn'x<hDf�qrcPn #=&8 $'/�# fti<kP|Gj}n)j}iThTn�iz��qtcPn��P|ri<�3|rx<m

xzpVh+qt|GxzpDftw�x�qtn5f�e{q egp$qti+x�jli<mo�Pwgn}qtn¯n}�Tn'jlkTqrx<�Pwgn<�u« p��P|Gx<j}qte�j}n<�0qrcPe�f x<w{moi3f�q pDnlv<n'| cVxz�P�&nlpPn5hI�®�&n'j'xzkDftn���|ri<mqtcDnv<n'|t�U�&nl�3e{pDpPe{pD� �&nli3�Pw{n§|rn'x<w{e �ln5h�e{q � x3f¢fte{wgwg�UqtiUj}i3p$qtegp$kVxzwgw{�U|rnGX j}i3m��De{wgn�egpT��|Gx<f�qt|rkDj�qrkP|tn§ftkDjGc)x3f¢qtcPn§egpP�PkTq � i<kPqt�PkTq|ri<kTqre{pPn3�3mUxzqtc�|ri<kPqtegpPn'f � ftkDjGc�x3f¢f 5$kDxz|rn¥|ri$i<q�i<|dfte{pPn�xzpDh�j}i3ftegpPn��}��x<pDhoqrcPe{pD�3f¢w{eg�<n�qtcDxzq'�®bdc�kDf'�<qrcPn�jli<pDf�qt|rkDj}qtegi<piz�dxzpun}�Tn'jlkTqrx<�Pwgn�jli<pDftegf�qtn5h�i<� 3%���6)4$'" ,� $0� &sx<pDh " $'&��2$'&)(<��~¢i<mo�Pegwgxzqtegi<puegf'� iz�dj}i3kP|rftn<�6qrcPn�qt|GxzpDftw�x�qtegi<p�iz�df�i3kP|rjlnj}iThTn�e{p$qti ¨�i3����n'j}qrª j}iThTn �z�ubdcPn�pPn � i<����n5j�q�jliThTn�e�f�qrcPnlp "%$'&��P#�1 � e�qrcyqtcPn¯i<����n5j�qoj}iThTn�i<�[qtcPn¯e{pT��|Gx<f�qt|rkDj}qtkP|rn|ri<kTqre{pPn5fl� � cPe�jGc � x3fO�P|rnlv�egi<kDftw{��ftx�v3n'h�egp+FDw{n5fl�ObdcDxzq�mon'x<pDfOqrcDx�q¢qtcPn�j}i<mo�Pegw�x�qtegi<poi<�IqtcPn¥egpT��|Gx<f�qt|rkDj�qrkP|rn¥|ti3kTqtegpPn5fi<pDw{��cDx3f qri��&n[hTi<pDn¢i3pDj}n3�zxzpDh§qrcPndi<����n5j�qOj}iThTn¤egf-wge{pD�<n'h�qti�qtcPn¤i<����n'j�qOj}iThTn¤iz� � cDx�qrnlv<n'|K�D|ti3�<|Gxzm � n3¬ |rn¢jl|tn5x�qtegpP�V�E-e{�3kP|rn�%D� � e{wgwgkDf�qr|rxzqtn5f�qtcPno�Dx3f�e�j�e�hTn5xP�obdcPnl|rnUxz|rn�qrcP|tn'nUj}i<mo�Pegw�x�qtegi<pVf�ftcPi � p �I�DkTq�qtcPno�&izqtqti<m q � i)cDx<�P�Vn'pi<pDw{� i3pDj}n3� � cDnlp£qrcPn�« � � x<pDh mUx�qrc�wge{�P|Gxz|regn'f�xz|rn j}|rn'xzqtn5h���i<|�qtcDegf�mUx<jGcPegpPn3��¡TkP�Dftn�5$kPnlp$qrw{�3�I�P|ti3�<|Gxzmomonl|Gf¥jlx<phTn'v<nlwgi<���P|ri<�3|rx<mUfdkDf�egpP�oqrcPi3ftn�wge{�P|Gxz|regn'fd���)jli<mo�Pegw{egpP�oqrcPnleg| FDwgn'f�xzpDh�wgegpP��e{pP��qtcPn'm�qriUqtcPn�w{eg�P|Gxz|re{n5fdqtiU�P|riThTkDjlnxoj}i3m��Dw{nlqtn�n}�Tn5j}kTqGxz�Pwgn<�

bdcPn'|tn�xz|rn§f�i3m�n�jli<momoi<p)pDxzmoegpP��j}i3p$v3nlp$qtegi<pVf®qrcDx�q¥�&nli3�Pw{n�kVf�n �� f�i3kP|rjln � f�i3kP|Gj}n FDw{n5fdkDftkDxzwgw{�Un'pDh � e�qrc)fti<mon�xz�D�P|tn'v�egxzqtegi<p�i<��qtcDn�f�i3kP|rjln�w�xzpD�<kDx<�<n<�$wge{�3n K E`�[` i3| K�X � K+F8`8O�©��i<|��Dx<frjlx<w �}� K t*YPZ �©��i3|�qr|rx<p �oxzpDh�fti+i<p � ~ ��� FDw{n5f�xz|rn kDftkDxzwgwg��pDxzmon5h�nle{qtcPn'| K%XGX i<| K V � bdcPn w�x�qtqtnl|��kP�P�&nl|Gjlx3f�no~ ��hTi�n5f�p ¬ q � i<|r�¯fti � nlwgw-i<p£jlx3f�n X:egpDftnlpDfte{qtegv<n FDwgn ft�Tf�qrnlmUf'�V�&n'j'xzkDftn�e{q��&n'jli<mon'f�e{mo�&i3frf�eg�Pwgn�qriqtnlwgwIqrcPn�hTe M&n'|tn'pDj}n§�&n}q � nlnlp�~>xzpDh£~ �����Dfti K%XGX e�fd�P|rn}��n'|rx<�Pw{n3�

� i<����n5j�q � � ����n5j�q FDwgn'f�e{p+�3x�v�x�xz|rn�qtcPn K%XPNG`8OGO FDwgn'f'���DkTq�|tn'monlm��&nl|§qrcDx�q�qrcPny¨�mUx3jGcPe{pDnojliThTn'ª)egp�qrcPnlm egf��i<|�qrcPn��3x�v�x�v�e{|tqtkVxzw¤mox3jGcPegpPn<�OpPi<q���i3|�qtcDn)x3j�qtkVxzw¤cDxz|Gh � xz|rn<� � ����n5j�q FVw{n5f�i3p�¦¥pPe{�ykDftkDxzwgw{�+n'pDhyegp KSY �|tn'�3xz|GhTwgn'frfdiz�OqrcPn fti<kP|Gj}n�wgx<pP�<kDx<�<n3�8��I eg�P|Gxz|r�HFDwgn'f�iz�©qrnlp£n'pDh£egp KS` e{pDf�qtn5x<h�i<� K Y �&�PkTq�qtcPn'�6¬ |rn�n'frftnlp$qte�xzwgw{�qtcPn�frxzmon<� � ��« q5¬ f�nlv3nlp��Vi$ftfteg�Pw{n§qriUw{egpP��qti<�3n}qrcPnl|[i3����n'j}q FDw{n5fdqtcVx�q�j'xzmon§��|ti3m�hTe M&n'|tn'p$q�f�i3kP|Gj}n§wgx<pP�<kVxz�<n5f � �� p ! egpDhTi � f'� i<pPno��egpDh�i<�¢i3����n'j}q FVw{nonlpVhPf§e{p K�� � � { �3i<k ¬ wgw0fti<monlqtegm�n5f§cPn'x<|�xz�&i<kTq�fti<monli3pPn<¬ f6! egpDhTi � ff��Tf�qtnlm j}|Gx<ftcPe{pD� �&n'j'xzkDftn§e�q¥cDx3f[xomoegfrf�egpP�oi<|[jli<|r|tkP�Pqtn'h$� I I®�

� n}�Tn'jlkTqrx<�Pw{n � n}�Tn5j}kTqGxz�Pwgn FVw{n5f�i3p�¦¥pDe���kVf�kDx<w{wg��cDx�v<n pPi)n}��qtn'pDf�egi<p��6fti¯qtcDxzq�qrcPnl�£hTi3p ¬ q�wgi�i<�£xzp�� hTe M&n'|tn'p$q���4-F&)0.+#H6D/I�H6 #IK+#&� .(�$�0 �!1�� &�N�+ � �A1/3�+ +.-/$�02-�H60 ��������� ���@+.�AI/� $ +.-K�!1�� &QNC+.0,$�D@+#-F&)0#&�D/0#&)�65 �!1��.&�NC+.E �! #$�&�D +.&�I O/ .�!"! =H6(*(*$�D/"/P �4-F$�0$�0 +.-/& �! #I �!1�� &�NC+ ��$�DA+#-/& 0#&�D/0.&,�65 +#H6 #"!&C+2�! "!�'H6> ��H60 $�D +.-/&,�!1��.&�NC+2�65 +.-/& "'H6(*& $�0 +.�)+#-F #� +#-F&,1�H6>�>�+.-/ #�!3/"!-@+.-/&,-/� �!O P � �,1�� &�NC+N���IF&�$�0 +.-/&�0#H6(*&)H60,(@H6N#-/$�D/&)N���IF& �! 41/$�D�H6 8 N�� I/&�B1/3F+ $ +,-/H604+.-/& $�(*O/>�$�NQH +#$��!DK�65 1:&�$�D/"*$�DFNQ�!(*OF>�&�+.&��D/�6+,& ��&�N�3F+=H61F>�& �:1B&�NQH63/0#& $ +,$�0$�DKD/&�&QI �65 � ����� ���'P

� %

Page 63: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

��|ti3m jli<momUxzpDhDf wgeg�<n N*O i3| Mab?`8XGO �+« p�� x3j�q5��e{q�e�fox�hTn5f�eg�<ps�<i$xzw�i<��¦¥pDe���qrcDx�q�qtcDnl|rn¯�&n�pPiuhPegf�qtegpDj�qre{i3p�Vnlq � n'nlp�kVf�n'| X hTnlv3nlwgi<�&n'hU�D|ti3�<|GxzmUf�x<pDh�¨rf��Tf�qtnlmUª��P|ti3�<|GxzmUf'�3ftiD�$��i<|dn}�Px<m��Dw{n3� N[O e�f[xzp�i3|rhPe{pDx<|t���P|ri<�3|rx<mqtcDxzqofti<monli3pPn � |rizqrn)x<pDh�jli<mo�Pegw{n5h ��kDf�qUw{eg�<n�xzp��$qtcDe{pP�unlw�ftn<� �O�Tn5j}kTqGxz�Pwgn'f�i<p ! e{pVhTi � f�kVf�kDx<w{wg�ynlpVh�egpK ���� �

E z�« � egpy¦¥pPe{�I� qrcPn¯~ jli<mo�Pegw{n'|�egf�kDf�kVxzwgw{��j'xzwgw{n5h�n'e�qrcPnl| XGX i3| x2XGX ��e{�¤e{q'¬ f§qtcDn -0/�¦ jUj}i3mo�Pe{wgnl| ��xzpDh�qrcPn¯~ ���j}i3mo�Pe{wgnl|���|ri<m -0/�¦ egf�jlx<w{wgn'h x���� ��bdcDn�¦�pPe�� wge{pD�<nl|�e�f�j'xzwgw{n5h NPT � �3i<k ¬ wgw-fti<mon}qre{mon5f�ftnln�qtcDxzq�x<f�qtcDn�fti<kP|Gj}n�iz�xzp�n'|t|ri<|5�Pf�io�3i<k���pPi � qrcDx�q¥qrcPn�nl|r|ri<|[cDx<�P�Vn'pPn'h�hTkD|tegpP�Uwge{pP��egpP�D�DpPizq�jli<mo�Pegw{egpP�V� � n'|tn3¬ f¥x<p�n}�Pxzmo�Pwgn�jlx<kDf�n5h������i<|r�<nlq�qre{pP��qri�wgegpP��qrcPn�mUx�qtc�wge{�D|rx<|t� �� XEX ��x U?O�M �qb?`PDPBLK%X �PYyU?O�M �qb?`PDPBIRD�b[F>I[XEX � �*T RFEF KSYCH�oqp tPUEp?X�D2_�YRp� b2`>_qp �[HI�B8Yqb?M*IG`Rp*T*MPZ2ORY�p>I�JEZ2_aD2_qpGx8I*XqFEF8I�U>ORM �b?`RDGB K�X H��CH UEp[T*MGt>_qp8MGT Z*MGt*MPZ[M�p?XRM D[Y��XRY[O �XRY*NGNGM8X�D �H NPT Z[MPDGU*ZPp8MGT ] MPr?_aD O�D*`PDGU?Ob?`��*MCH ������� U?ORM �qb?`PDGB � �EZEZ*YPZi]�

bdcPn��3e{v3nGX x � x���egf¤qrcPn NPTGZ*MPDGU*ZGp[MGTc]aMPr2_aD2O�DE`PDPU?O �Dxz|tq'�� ��x��<��qrcDx�q5¬ f®nlpPi3kP�<coiz�IcPe�f�qti<|r�<�-«KqtcPegpP���<i<kUj'xzpUf�n'n � cPnl|rn¥�$x�v�x§jli<mon'f0��|ri<m � �P|ri<�<|GxzmUf0xz|rnde{p�ftnl�Vxz|Gx�qtn FDwgn'fqtcVx�q¢x<|tn¥ftnl�Dx<|rxzqtn'w{��jli<mo�Pegw{n5hI�$�PkTq®qrcPn�wge{pD�$egpP��f�qtn'�Uegf¢hTi<pPn�e{mo�Pwgegjle�qrw{������qrcPn E`�[` �P|ri<�3|rx<m � cPnlp��3i<ko|rkPpo�<i<kD|�P|ri<�3|rx<m)� z®i<k)pPn'v<nl|¤n}�T�Pwge�j}e{qtwg��j}|rn'xzqtn§xzp)n}�Tn'jlkTqrx<�Pw{n FDwgn§e{p �$x�v�xD�$ftegpDj}n§e{q'¬ fd|tn5xzwgw{� E`�[` qrcDx�q[e�f¤qtcPn§nl��n5j}kTqGxz�Pwgn<�

� ��� �� 6j � � � � e � � j�� � � � ��� � � � e � ��� e ���

!unUcDx�v<nof�n'nlp+x)�P|ti3�<|Gxzm �P|ri<�3nlp�kD�uegp$qti��Pegn'jln'f�qtcVx�q�xz|rnUj}i<mo�Pegwgn'huf�n'�Dxz|Gx�qrnlwg�<� !un�jlx<p�egpT��i3|tmUxzwgwg��jlx<w{wOftkDjGc�Pegn'jln'f)¨�moiThTkPwgn'f'� ª # �<i�iTh£�P|ri<�3|rx<m hTn5f�eg�<p � e{wgw0cDx�v<n n'x<jGc�m�iThTkDw{no�&n�x)j}i3cPnl|rnlp$q'�6wgi<�3egj'xzwgw{��j}i3pPpPn'j}qtn5h�ftn}q§iz�hPxzqrxof�qr|tkVj�qtkD|tn5f[xzpDh���kPpDj}qtegi<pDf'�®« p��3x�v�xP�TmoiThTkPwgn'f[x<|tn�x<w � x��Tf¤jlwgx3ftftn'f'�bdcPe�f¥e�hTn'x�iz��ftnl�Dx<|rxzqtn'w{�)j}i<mo�Pegwgn'h ¨tm�iThTkDw{n5ftªUe�f��<|rn'x�q[��i3|�ftnlv3nl|Gxzw |rn'x3f�i3pDf � FD|Gf�q5�6e�q§ftx�v3n'fdqre{mon<�6�&n'j'xzkDftn � nhTi3p ¬ qOcDx�v3n®qri§jli<p$qtegp�kDxzwgwg��|rnGX j}i3mo�Pe{wgn¢qtcPndwge{�P|Gxz|r����kPpDj}qtegi<pDf {3ftn'jli<pDhI��e{q®xzwgw{i � fKegpDj}|rnlmonlp$qGxzw��PkPegwghPe{pP�§i<�D�P|ri<�<|GxzmUf {xzpVhUqtcDe{|GhI�Te{q[ftcDx<|t�&nlpDf¢qrcPn�ftnl�Vxz|Gx�qtegi<p�iz�-x �P|ri<�3|rx<m egp$qti�m�iThTkDw{n5fl� !un<¬ h�wgeg�<n�qti��Vn�xz�Dw{n�qtiohTi�e�q � e{qtc)i<kP|di � p�P|ri<�3|rx<mof � hTe{v�e�hTn�qtcPn'm egp$qtiUftnl�Dx<|rxzqtnlwg��j}i3mo�Pe{wgn'h¯moiThTkPwgn'f'�

����� � � $ � ��$ � � ���*$ ���x<|twgegnl|5� � n�frxze�h�qrcDx�q�i<pDn�n}�Px<m��Dw{n�iz�¢x���kPpDj}qtegi<p�qtcDxzq � n � i<kDwgh �DkTq�e{pux�wge{�D|rx<|t� � i<kPw�h �&nox�mUx�qtc���kPpDj}qtegi<p �wge{�3n O-,GZED i<| XRY8O � � kD|¥f�i3kP|rjln�jliThTn ��egp t*YEYCK%X � � egw{w �D|tn5f�kPmUx<�Pw{��cDx�v<n§f�i3mon}qtcDe{pP�owge{�3n§qtcPe�f[egp¯e{q �

t[NGYE`RD ` � ] K����t[NGYE`RD�Fc_�� \CK] � ]����� ����t[NGYE`RD ��� XRY8O��%` �aFc_ ���� i � hTi�n'fOqtcPn�jli<mo�Pegw{n'|O��pPi � qrcDx�q X�Y8O e�f�x���kDpDj�qre{i3poqtcDxzq®qrx<�<n'f0i3pPn¥xz|r�<kDm�n'p$q'� � cDegjGcoe�f®x <Di$x�q'�3xzpDho|rn}qrkP|tpVfx7<Di3xzq�� #[�©qrnl|�x<w{w:�®qrcPn£hTn FDpPe{qtegi<p�iz� X�Y8O e�fopPizqUegp qtcPe�f�FDwgn ��qtcDxzq'¬ foqtcPn � cPi3w{n��&i<egp$q ��«�f�qtcPn£jli<mo�Pegw{n'| ��kDf�q

ftkP�P�&i3ftn'h�qtioqt|rkDf�qdqtcPn��P|ri<�3|rx<mom�n'|��)­�|ti3�<|Gxzmomonl|Gf®mUxz�3n�moe�f�qGxz�3n'f �bdcPn�f�i3w{kTqre{i3p�e�f�qrcDx�qdegpDf�qrn'x3hUiz���3e{v�egpP��qrcPn�jli<mo�Pegw{n'|�qrcPn§j}i<mo�Pwgn}qrnl1P# � &-$. $0� &�iz� X�Y8O � � n � e{wgw���kDf�qd�<egv<n�e�q¤qtcDn

1R#03=" , / ,� $0� & � ��kDf�q¤nlpPi3kP�<coegpT��i<|rmUx�qre{i3p qri�hTi�qrcPn¥pPn5j}n5ftfrxz|r��j}i3mo�Dx�qre{�Pegwge�q�� qtn5f�qre{pP�V�3�DkTq�pPi<q�nlpPi3kP�<coqri�ftw{i � hTi � pqtcDn�j}i<mo�Pegw�x�qtegi<p��0bdcDn�hTn'jlwgx<|rxzqtegi<p�wgi�i<�Tfdwge{�3n�qrcPe�f �t[NGYG`PD XRY8O���t*NGYE`PD r ���

! cPi � |re�qrn'f®qtcPe�f�hTn5j}w�xz|Gx�qre{i3p ��bdcDn�xzkTqrcPi<|�iz�6qtcPn X�Y8O ��kPpDj�qre{i3p � ! cPnl|rn¥e�f®e{q � |re�qtqtnlp �)« q'¬ f®�PkTq¢e{p�x ¨tcPn'x3hTnl|GªFDwgn<�3qtcDxzq¢j}i3p$qrxzegpDfOi<qtcPn'|�hTn5j}w�xz|Gx�qtegi<pVf0w{eg�<n[qrcPe�f®iz�6��kPpVj�qtegi<pVfO��|ri<m qtcPn¥mUxzqtcUwge{�P|Gxz|r�<�O~¢i<p�v<n'p$qtegi<pDx<w{wg�<�zcDn'x<hPnl| FDwgn'fnlpVh � e{qtc K+B �

/¥i � qtcDxzq � n�cVx�v<n�xocPn'x3hTnl| FVw{n FVw{wgn'h � e{qtc£hTn5j}w�xz|Gx�qtegi<pVfl��cPi � jlx<p � n§�<nlq[qtcPn�jli<mo�Pegw{n'|dqtiU|rn'x3h�qrcPn�cPn5x<hTn'|FDwgn � cPn'p£e�q�j}i<mo�Pegwgn'f¥i3kP|��D|ti3�<|Gxzm �<!�n�hPiUqtcDxzq � e{qtc�xUft�&n'j}e�xzw-hTeg|tn5j�qtegv<n � � cPe�jGc£x<j}qtkDx<w{wg�)jli<p$qt|ri<w�f¥fti<mon}qrcPegpP�jlx<w{wgn'h�qtcDn ¨��P|rnGX �P|ri�jln'frf�i3|rª)�0wge{�3n�qrcPe�f �

� &

Page 64: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

executable

source for I/O Compiler object for I/O

stdio.a

Compilersource for foo

foo.c

iostream.h

header file linker

object for foo

foo.o

foo

E-e{�3kP|rnH%P� � � bdcDn�cPn'x3hTnl|;FDw{n�egf�|tn5x<hu����qrcPn�j}i3mo�Pe{wgnl| � cPnlp�jli<mo�Pegw{egpP� n'e�qrcPnl|�qtcPn�jlw{egnlp$q jliThTn;� t*YEYCK%X ��i3|�qtcDnegm��Dw{n'm�n'p$qrx�qre{i3p �Obdc�kDfl� � n¥nlpDftkP|rn[qtcVx�q¢�&izqrc�fteghTn5f®cDx�v3n[qtcDn�j}i3|t|rn'j}q�xz|r�<kPmon'p3qGf®xzpVh�q��$�&n'f���i<|¤xzwgwP��kPpVj�qtegi<pVf¢x<pDhmon}qrcPiThPfl�ObdcPn��Vi3wghUx<|t|ri � egpDhTe�jlxzqtn5f®qrcDx�q®qrcPn FVw{n�x�q®qrcPn¥qGxzegwDe�f � _qp2XPN�U[T*M ¬ h e{poqrcPn FDwgn�xzq®qtcDn�cPn5x<hoiz�6qrcPn�x<|t|ri � �

� _qp2XPN�U[T*M� [O�D*T2_�YCK+B�� IEI TEM8XPNG`PZ*`PD?_�YRp2O t*YPZ DGB[M oRIGs N[_ �*Z[`PZGQ� _qp2XPN�U[T*M� qb?`PDGB K+B�� IEI TEM8XPNG`PZ*`PD?_�YRp2O t*YPZ DGB[M b?`RDGB N8_ �*Z*`PZEQ

bdcPn � _qp?XPN�U*T*M hPe{|rn'j}qtegv<n�e�f�v3nl|r�¯m kDjGc£wge{�3n �$x�v�xP¬ f _�b[F8YPZED f�qrxzqtnlmon'p3q�e{p�nGM6n'j�q5�I�PkTq�e�q§egf��PkP|rnlwg�)qtnl�$qrkDxzw � e{qfrx���f®qti��<i i M£xzpDh�|tn5x<h�qrcPegfdi<qtcPn'|@FVw{n3��x3f�e{�Ke{q � n'|tn�|teg�<c$q¢cDnl|rn<�Obdc�kDfl�$qrcPn��D|tn X:�P|riTj}n5ftfti<|®�3e{v3n'f®qtcPn�j}i3mo�Pe{wgnl|¢qtcDnegw{wgkDfte{i3p�qrcDx�q¥n'v<nl|r�$qtcPegpP��� x<w{w6qrcPn�j}iThTn!�¤egfdegp�i<pPn FVw{n3�/¥i<qtn¤qtcVx�q0qtcPn¥ftnl�Vxz|Gx�qtegi<p iz�6hTn'jlwgx<|rxzqtegi<pDfK��|ri<m�hTn FDpPe{qtegi<pDf0e�f0pPi<q®kDf�n5h�egpU�3x�v�x � qtcPn _�b8F8YRZED f�qrx�qrnlmonlp$q®xzwgwgi � fqtcDn§jli<mo�Pegw{n'|�qri nl�Pxzmoe{pDn�qrcPn K�XPNG`8OEO qri�jGcPn5jG��qtcDxzq¢qrcPn§m�nlqtcPiThPf[x<|tn�kDftn'h�jli<|r|tn5j�qrw{�3�K« p ~ ��� �$qtcDxzq[e{pT��i3|tmUxzqtegi<pe�fdpPizq¥egp)qtcPn�i3����n'j}q FVw{n3�Df�ioe{q¥m�kDf�q¥�&n��<izqtqtn'p���|ri<m�fti<mon�fti<kP|Gj}n FDwgn<�

����� �"! � �+� $ � ��� $ � � � � � $ � � ��'��*�0���*�+�~ � ~ ��� kDf�n5fOqrcPn¥qrn'jGcPpPe 5$kPn�i<� cPn'x3hTnl|@FDwgn'fOqri x<w{wgi � f�n'�Dxz|Gx�qrn¥j}i<mo�Pegw�x�qtegi<p�x<pDhoq����&nGX jGcPn'jG��egpP��x<jl|ti$ftfO�&i<kDpDhPxz|regn'f'�fti�qrcPn§cPn'x3hTnl| FDwgn�n5ftftnlp$qregx<w{wg��hTnGFVpPn'fdxzp¯e{p$qrnl|t� x<j}n��&n}q � nlnlp�qtcPn *E5#=/�i<| 3 "%$0# &>¢i<�Kf�i3mon�jli�hPn �9xzpPi<qtcPn'|¢�D|ti3�<|Gxzm�Xmonl| � cPiuegfUjl|tn5x�qre{pP��i<����n5j�qGfl��j'xzwgw{egpP����kPpDj}qtegi<pDfUx<pDh�egp�v<i<��egpP��monlqtcPiThPf0��xzpDh�qtcDxzq $.�6)4" #�� # &>+�2/�i<�¥qtcPn jli�hPn� � cDiohPnGFDpPn5f¤qtcPn�jlwgx3ftftn'f'�$��kPpDj�qre{i3pDf[xzpVh�mon}qrcPiThPf0���¢~¢i<mo�PkPqtnl|[frj}egnlp$qte�f�qrf[jlx<w{w&qrcPegf�xzpV#��P�Pwgegj'x�qre{i3p)­�|ti3�<|Gxzmomonl|« p$qtn'|�� x3j}n<��i3| #�­®«���« p¯qtcPn�~ � ~(+,+ � x��oiz�0hTi<egpP� qtcPegpP�$fl�Px cPn'x3hTnl| FDwgn�iz�©qtn'p)hPnGFDpPn5f[xzp$#�­®«��T« p��$x�v�xD�<qrcPn�f�nlq[iz��PkP�Dw{e�j[mon}qrcPiThPf�i<� x�j}w�x<frf®hTnGFVpPn¥e{qrf@#�­®« ���DkTq ��kDf�q®qrcPn 5 $%(+&4,� * /�#�5 �[i<�VqrcPn�mon}qrcPiThPf'�3pPi<q®qtcDnleg|�egm��Dw{n'm�n'p$qrx�qre{i3p ���

#�­�«�f�xz|rno�<i�iTh£qrcPe{pD�3f'���&n'jlx<kDftnoqtcPn'��xzwgwgi � ��|tn'n'hTi3m i3p��&izqrc�f�e�hTn'f§i<�¢qrcPnUegp3qrnl|t� x<jln � qtcDn�xz�P�Pwge�jlx�qre{i3p��D|tiQX�<|Gxzmomonl|Gf �©qrcPn�jlw{egnlp$qrf0�[x<|tn�x<�Pw{n§qri�kDftn§qtcPn���n'xzqtkP|rn'f[i<�KqrcPn #�­®«dx<fdqrcPnl��ftnln FPq5�&x3f[w{i3pP��x<f[qtcPn'�¯egp�v<i<�3n�qtcPegpP�3f�P|ri<�&nl|rw{���<egv<n'p�qtcPn�|tkPwgn'f�iz�IqrcPn #�­®«��3bdcDn�egm��Dw{n'm�n'p$qti<|Gf�x<|tn¥x<�Pwgn¥qti�e{mo�Pwgnlmonlp$q¢qtcPn���kPpDj�qre{i3pDxzwge{q��ox<p�� � x���qrcPnl�ftnln FPq'�Vx<fdwgi<pP�Ux<f¤qrcPnl����i<wgw{i � qtcPn�|rkPwgn'fdi<��qtcDn;#�­®«��

!un�cDx�v<n�qri�|tn X hP|rx � i3kP| FD�3kP|rn§qti�|rn <Dn5j�q[qrcPn�nl��e�f�qtnlpVj}n�iz�OcPn5x<hTn'| FDwgn'f {PqrcPn�pPn � v3nl|Gf�egi<p)e�f[e{p E-eg�<kP|rn %D� � ��«fte{mo�PwgeYFVn'h¯e�q[���UcDx�v�e{pD� i3pPw{�Ui3pPn�n}��qt|Gx�moiThTkPwgn<�T�DkTqdqtcPn�frxzmon�e�hTn5x�j'xzp¯�Vn§|rnl�&n'x�qrn'h � qrcPnl|rn � i<kDwgh��Vn�x b2`PDGBLK+BqtcVx�q�hTn FDpPn'f¤qrcPn�egp3qrnl|t� x<jln �/#�­�« �¢qtioqtcDn§��kPpDj�qre{i3pDf¥x<pDh¯jli<pDf�qrx<p$qrfdegp¯qrcPn�mUx�qrc¯wge{�D|rx<|t�3�

! cDxzq¤e{� � n � x<p3q¤qti�kDftn�qtcPe�f¤eghTn5x�e{p¯m�iThTkDwgx<|te �legpP��i<kP|�~ ��� �P|ti3�<|Gxzm�� � e�qrc¯n5x<jGc�jlwgx3ftf¤egp)x�hTe M&n'|tn'p3q FDwgn � x<f� nohPi)egpy�3x�v�x)� � « �¢qrcDx�q5¬ f�qtcPn�j'x<ftn<� � nonlpDh�kP� � e�qrcyx)hPnl�&nlpDhTn'pDj}�uf�qr|tkVj�qtkD|tnowge{�3n qrcDx�q�egp<FD�<kP|rn %P� �!� pPizqregjlnqtcVx�qde�q5¬ f¤v<n'|t�ofte{moegwgx<|�qri FD�3kP|rn %P� � �0bdcPn§hTe M&n'|tn'pDj}n�egf¤i<pDw{��qtcVx�q � n�qtcPn§xz�D�Pw{e�jlxzqtegi<p��D|ti3�<|Gxzmomonl|Gf®j}|rn'xzqtn�x<w{w&qtcDnFDwgn'f'�PegpDf�qrn'x3h�i<�-�3n}q�qre{pD� O�D*T2_�Y�KS` ��|ri<m�x�wge{�P|Gxz|r�<�

«�cVx�v<n�j}|rn'x�qrn'h x+f�egmo�Pw{n nl�Pxzmo�Pwgn¯qrcDx�qUnl��cDe{�Pe{qrf�xzwgwdqtcPn5f�n���n5x�qtkD|tn5f{[e{q'¬ fUxu�PkDftcDX:i3pPwg��f�qGx<jG�6� bdcPn�eghPn'xuegfpPi<q�qtcVx�q�qrcPn�j}iThTn�e�f��Vxz|tqte�j}kPw�xz|rw{�ukDftn}��kPw:�Omonl|rnlwg��qrcDx�qoe{q e�f ftk*m�j}egnlp$q�qri�ftnln�cDi � ~ ��� �P|ri<�3|rx<mof�xz|rn�kDftkDxzwgw{�f�qt|rkDj�qrkP|tn5hI�ObdcPn�j}iThTn§��i3|dqtcPn5f�n FDwgn'f¥egf[x3f¤��i<wgw{i � f ����� 1 '���� � bdcPe�fdegf[qtcPn�jlw{egnlp$q¥j}iThTn3�O« q�j}|rn'x�qrn'f[xof�qrx<jG��x<pDh�hTi�n'f[fti<mon§i<�&nl|Gx�qre{i3pDf¤i<p�e�q5�®bdcPn�j}iThTn§wgi�i<�Tfdw{eg�<n �� �4-F&)0#$�"!D�H +.3/ #&)�65�H�5 3/D/NC+.$��!D �! 2(*&C+#-F��I $�04$ +.02D�H6(*&LH6D/I H6 #"!3/(*&�D'+2>�$�0.+

� N

Page 65: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

Compiler

Compiler

linker

object for stackstack.o

source for I/Ostack.cpp

header filestack.h

executable

demo2

demo2.o

object for demo2source for demo2

demo2.cc

������������ ����������������������� �"!���#��%$&�'�)((�*�+�,�-/.0��(�1/+�,�-2.43657�'(4�89�)�;:=<0#8��%$&!�>@?�������4AB���CD$&!�>@?�������C��7��E#����4#8��$&�����CF#G$&!���;HJI�K2LNM=OP3Q-=-)RS!���#8��T��>@?����>@�CF#�U#8��!)CD����%�"!���#8��V(W#��$QXY$&�'�)((�ZN12+�,�-/.43-2[=[\

]_^9` -�aUb�I�Kdc ^ M�1/+=e�K=,9LG365_f]_^9` -�aUb�I�Khg)1/+�,�-/.4365ig

^�` +jLN, ^9`lk�mjn*�+�,�-/._od1/+=.�pdq ` K)rs*�+�,�-2.ltvu=ud,d[�M ^9` +�K�ed+�Mw,h1/+�,�-2.*�+�,�-/._od1/+=.=xyq ` K)rs*�+�,�-2. k2z2{={�m t|u=u},~[�M ^9` +�K�ed+�My, ` M�+F5�K�eh1/+�,�-2.

1/+=.�p��FfU[=bN125 k x m t1/+=.�p��FfU[=bN125 k p m t-)M)b�+sc=c�g��FbN195�KFI�gjc=cs1/+=.�p��Ff�1 ^/� K k�m c=c}K ` I�a�t-)M)b�+sc=c�g2K�aFK9LNK ` +�1�,�e�Kl�&gjcFcyK ` I�a�t1/+=.�p��FfU[�e ^9` + k�m t

I�K�aFK�+�Kw1/+=.�pStI�K�aFK�+�Kw1/+=.=xlte�K�+Fb�e `w{ t

�������9�S��� ������(��'(D#8������������&�/���P�@����) ��6#���&��C�9(D#8���(�#Q�)$QX}$�����(8(|�UC��w���$����)�89(D�)����#���>0�>7:���|�"��C�$&#8��!)C�(H">@&#��!���(R& ��l�8���/�/#7���/#Q��>@�>�:_��(��UC_��>@&#8��!=��(�$��UC��)��(8!�:�0�����C�9���UC_�v���$����)�89������) �����0&���U>@?�������%��!=!)X�(�����X)��

-)aF,�1=1j*�+�,�-/. n[=e ^2� ,�+�Kl�

^9` +�o�K�a)+_1 t^9` +}+�M)[�t^9` +�-),)[�t

[Fb=¡_a ^ -��*�+�,�-/. k�m t

*�+�,�-/. k�^9` +s-U,)[�,�- ^ +=¢ m t

� M ^ I~[=bN195 k�^9` + m t

^9` +�1 ^/� K k�m t

£U¤

Page 66: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

[Y>_�T�F*Z?_ p*D � ���� �

)�U?���� ��� � � bdcPegf FVw{n�egmo�Pw{n'monlp$qrf¥x<w{w6qrcPn�mon}qrcPiThPfdqtcVx�q � nl|rn§hPn'j}w�xz|rn'h¯egp O�D[`8X� K+B� _qp?XPN�U*T*M 8_�Y[O�DEZ[ME`qb6K+B��� _qp?XPN�U*T*M �RO�D*`8X � K+B �X�YRp?O�D _qpED ��� � n �P^�PV n � n V2oa^ � � ]����

IGI�^PBc_GO _GO�`yp8Y �G`PZExGU�b?MRp*D XRYRp?O�DGZGU?X�D[YRZWRD[`8X � HGHSWPD[`8X� � ���

XR`RF�� ��� � n �P^�PV n � n V2oa^ � �M*NRD2O �yp8MRJ _qp*D�� ��� � n �G^�PV n � n V>oq^ � � �D[YRF�� ���

IGI�^PBc_GO _GO�`yUEp[`PZEQ �%YRp8M �G`PZExGU�b?MRp*D � XRY�p?O�DEZGU2X�D[YPZ � OaF8M8XE_�tGQ?_qpEx�DGB8M XR`RF[`8X*_aDEQWRD[`8X � HGHSWPD[`8X� � _qpGD XR`�F8`8X*_aDGQ � �

XR`RF�� X�`RF8`8X*_qDEQ �M*NRD2O �yp8MRJ _qp*D���XR`RF8`8XE_aDEQ � �D[YRF�� ���

IGI�^PBc_GO b?MPDGB[YGT FEU?OaB[M8O YRp DGB8M O�D[`8X �*Y>_�T WPD[`[X � HEH+FGU?OaB � _ p*D p[MRJ GM*N�D ���

_�t�� D[YRF ��� XR`RF � Z*MPDGU*ZGp �M*NRD2O � D[YRF � �yp8MRJ�GM*NRD �D[YRF �����

IGI�^PBc_GO b?MPDGB[YGT�Z[MPDGUEZGp?O�DGB8M XaUEZEZ[MRp*D OE_ �*M YGt DGB8M O�D[`8X� K_ p*D WPD[`8X ��HEH%O*_ �EM�� � �

Z[MPDGU*ZPp D[YRF ��

IGI�^PBc_GO b?MPDGB[YGT F*Z?_qpED2O YRU*D DGB8M M*NGMqb?MRp*D2O�YGt DPB8M OaD[`8X �*Y>_�T WPD[`[X � HEH+FEZ?_qp*D � � �

t*YPZ ��_qp*D _ ����� _: RD[YRF � _ ��� ���X�YRU*D M*NRD2O �%_ � � � �

��

z®i<k�¬ wgwOpPizqrn�x)f�qrxzpVhPxz|Gh pDx<m�egpP��j}i3p$v3nlp$qtegi<p � j}w�x<frf FDw{n5f�nlpDh�e{p K%XqFEF �IxzpDh£qtcPn�FDwgn�qtcDxzq§jli<p$qrx<e{pVf b?`>_qp n'pDhPf§egpK%XEX ��« q'¬ f egmo�Vi3|�qGxzp$q�qri�|rnlmonlm �Vn'|�qrcDx�q�~ � ~���� nl��n5j}kTqGxz�Pwgn'f m�kVf�qoj}i<p$qGxzegp�n}�Px<j}qtwg��i3pPn b?`>_qp ��kDpDj�qre{i3p �®f�egpDjlnqtcVx�q'¬ f � cPnl|rn¥qrcPn��P|ti3�<|Gxzm�f�qGxz|tqrf'�K« p)�3x�v�xD�3n5x<jGc�jlwgx3ftf¤jlx<p�cDx�v<n�x b?`>_qp mon}qrcPiTh��&n'j'xzkDftn��3i<k�j'xzp�ft�&n'j}e{��� � cPe�jGci<pDn |rkPpDf����£�<egv�e{pD��e{qrf§pDx<m�n�i<p�qtcDn�qrcPnU�3x�v�x¯v$eg|tqtkDx<w-mUx3jGcPe{pDn ��qtcPn E`�*` �P|ri<�3|rx<m6�����$x�v�xD¬ f � x��)e�f�j}i�i3w9�6�PkTqe{q'¬ f[i<pPwg���&i3frf�eg�Pwgn§�Vn5jlxzkVf�n§iz�-qtcDn��QJ Wy�/¥i<qte�j}n�qrcPnohTeYM6nl|rnlpVj}n�egp�ft��p3qGx����Vnlq � n'nlp qrcPn hPn'j}w�xz|Gx�qre{i3p iz�®x�monlqtcPiTh � e{p OaD[`8X � K B �¤xzpVh e�qGf�hPnGFDpPe{qtegi<p ��egp

O�D[`[X � K%XaFGF �}�O« p�qtcPn�hTn'jlwgx<|rxzqtegi<p � � n(��kDf�q��<egv<n�e{qrf�|tnlqtkP|rp�q����Vn3�DpDx<mon<�Vx<pDh xz|r�<kDm�n'p$qdwge�f�q5�Vn'pDhTegpP� � e{qtc£xUftnlmoeYXj}i3w{i3p �0« p�qrcPn�hTnGFVpPe�qre{i3p � � n��3e{v3n�qrcPn�ftx<m�n�nlpVhTe{pD� � e{qtc¯qtcPn�jli�hPn�egp)�P|rx3j}n5fl��!�n�x<wgfti � *E5� 5$kDxzwge{���UqtcPn§mon}qrcPiThpDx<m�n � e{qtc)qtcDn�j}w�x<frfdpDxzmon�kDfte{pD� qrcPn�hTi3kP�Pwgn§jli<wgi<p�f���p$qrxz�I�Pf�kDjGc�x<f WPD[`8X ��HEH+FEU?OqB �

% P

Page 67: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

I i�i3�)xzq�qtcDn;FD|Gf�q�q � i�w{egpPn'f�iz� T*Mab?Y� �K%XEX x<pDh�pPizqrn�qrcDx�q�qtcPn'|tn xz|rn�q � i � x��TfdqrcDx�q � _ p?XPN�U[TEM egf�kDftn'hI� ! e�qrcxzpD�<wgn��P|Gx<jG�3n}qrf'�<wgeg�<n c_�Y8O�DGZ[ME`ab6K B�� ��e�qdmon'xzpVf®qri wgi�i<�oe{p�qtcPn)¨tf�qrx<pDhPx<|rho�Pw�x<jln'frª�fti�qrcDx�q¤egf¤wge{�3n��<i3kP| V � n WEW � n ^ �egp��$x�v�xP��! e�qrc5$kPizqGx�qtegi<p)mUxz|r�Tfl��wge{�3n ��O�D[`8X ��K+B�� �<e{q¥mon'xzpVf¤qtiow{i�i3��e{p)qrcPn�j}kP|r|rnlp$q¥hTe{|rn'j}qti3|t�3�!un egp$qt|ri�hPkDj}n5h£xzwgw�qrcPe�f�jli<mo�Pwgegj'x�qre{i3p�f�i�qtcDxzq � n jli<kPw�h£pDizq§i<pPwg� j}w�xz|re����)qtcDn�#�­®«d��i<|�i<kD|�f�qrx3jG��jlwgx3ftf'�6nlv3nlp�PkTqtqtegpP��e�q-e{p�x�ftnl�Dx<|rxzqtnOcPn5x<hTn'| FDwgn<���DkTq-x<wgfti[qti�xzwgw{i � kDfKqri�hTi�f�n'�Dxz|Gx�qrn®j}i<mo�Pegw�x�qtegi<p��BI i�i3�$egpP�¥�Vx<jG�§x�q FV�<kP|rn %D� �D�� ndj'xzpof�n'ndqtcDxzq®e��&qtcDn¥j}wge{n'p3q®jGcDx<pP�<n5f � � n[n'hTe{q T*Mqb?Y� CK%XGX �}� � ndi<pPwg��pPn'n'h qti§|rn'jli<mo�Pegw{nde{q�xzpDh�|rnGX w{egpP�§qti O�D[`8X ��KSY �« ��qrcPnUegm��Dw{n'm�n'p$qrx�qre{i3pujGcVxzpP�3n'f � � n�n5hTe{q O�D[`8X ��K%XaFEF ��� � n�i<pPwg�£pPn'n'h�qti�|rn'j}i3mo�Pe{wgn�e�q�xzpVh�|rnGX w{egpP��qri T*Mab?Y� �KSY �! cDxzq�e�� O�D*`8X � K+B jGcDx<pP�<n5f �« ��qtcVx�q'¬ f�qtcDn£jlx<ftn<��# ��#=/ ��.7 $'&)(spPnln5hPfoqriu�&n |rn'j}i3mo�Pe{wgn'h � !un<¬ v<n)��kPpVhPxzmonlp$qGxzwgw{�jGcDx<pP�<n5h�qrcPn�|tn'wgxzqtegi<pDftcPeg���&n}q � nln'p¯qrcPn�j}wgegnlp$q¥xzpDh¯qtcDn�j}w�x<frfl�Px<pDh¯ftionlv3nl|r�3qrcPegpP� pDnln'hDfdqtio�&n�kP�&hDx�qtn5hI�

« p��D|ti<��n'frf�egi<pDx<w¢ftiz�©q � xz|rn¯hTn'v<n'w{i3�Pmonlp$q'��hPn'fte{�3pyqtn5xzmUf FD|rf�qUhTn}qrnl|rm�egpPn¯qtcPn�egp$qtnl|t� x<jln'f �Vnlq � n'nlp j}w�x<frf�n5f x<pDhqtcDn'ftn�hTn'jlegftegi<pDf�x<|tnopDx<e{wgn'hyhPi � p ��i<�©qtnlpyegp+qtcDnU��i<|rm i<�¤cDn'x<hPnl| FDwgn'f'��bdcPnlp �-egm��Dw{n'm�n'p$qrx�qre{i3p+qtn5xzmUf�jlx<p�f�qGxz|tq� i<|r�$egpP�V� $'&21P#+)8# &?1R#=&8 " ���&i<p�qtcDn�hTe M&n'|tn'p3q�f�e�hTn'f�iz�0qtcDn�e{p$qrnl|t� x<j}n3�¤bdcVx�q'¬ f¥�Vxz|tqtwg� � c��¯«d�PkPq O�D[`[X � K+B w{nl�©qtmoi3f�q �e{q�cDxz�D�Vn'pDf FD|Gf�q'�0xzpDh+n'v<nl|r�$qtcPegpP� hTn'�Vn'pDhPf�i3pye�q5�)bdcDegf f�qr|rxzqtnl�3�£e�f(��kDf�q�i<kD|�i<w�hu��|tegnlpVha¨thTegv�eghTn�x<pDhyj}i3p-5$kPnl|Gª|rn'xz�D�Vn5xz|re{pP��egp�x�pPn � �3kPegftn<�

� ��� � �� ��� ���bdcPn§�3x�v�x�e�hTn5x�iz� n5x<jGc�jlwgx3ftf�cDx�v�e{pD� x b?`>_qp monlqtcPiTh�mUx<�<n'f�e�qdn'x3f���qri�kDftn¥qrcPn�mUx<e{p¯m�nlqtcPiTh�iz�¥¨�egpT��|Gx<f�qt|rkDj�qrkP|rn'ªj}w�x<frftn'f ��wge{�3n<� frx��<�If�qGx<jG�Tf0�¥x<f�qrn'f�q���kPpVj�qtegi<pVf � qtcPnomUxzegp�mon}qrcPiTh�j'xzwgwgf�qtcDn�monlqtcPiThPf�iz��qtcPnUj}w�x<frf�qti¯qtn'f�q§v�x<|tegi<kVffrj}nlpVxz|re{i$f8� j'xzp � n��&i<�£��|ri<m xzp�nlmo�Tq�� f�qGx<jG�6�VhPi$n5f�x��PkDftc ��i<wgwgi � n5h��$��x��&i<���$egnlw�h�qrcPn�i3|teg�<egpDxzwKnlwgnlmonlp$q5�&x<pDhftio��i<|tqtc �}�d¦�pT��i<|tqtkDpDx�qrnlwg�<� � n�j'xzp ¬ q�hTiUqrcDx�q�e{p�~ ��� �Vfti � n�q����Pe�jlx<w{wg��egmo�Pwgnlmonlp$q�qrn'f�qtegpP��egp£x�hTe M&n'|tn'p$q FDwgn<� EPi3|n}�Px<m��Dw{n3�<qrcPn T*Mab?Y� �K%XEX e�f�n5ftftnlp$qregx<w{wg��x�qtn5f�q FDw{n���i<|�qtcPn WPD[`[X � j}w�x<frf � e�qdf�qGxzpDhDf®egp���i<|¢qtcDn�|rn'xzw&j}wge{n'p$qrf � cPi�cDx�v3n|rn'xzwIpDnln'hDf¤��i<|dqtcDegf[��egpDh)iz�0f�qGx<jG�6�

� ��� � ���������� ���� pPn��P|ti3�Pwgnlm�qtcVx�q[jlxzp¯f�i3m�nlqtegmon'fdj}i3m�n�kP��e�f � cPnlp)x�cPn5x<hTn'|@FVw{n��<nlqrf¢e{pDjlw{kVhTn'h¯moi<|rn¥qtcVxzp�i3pDj}n3� EDi<|¤n}�Pxzmo�Pwgn<�wgizqrf�iz�¥hTe M&n'|tn'p$q�moi�hPkPw{n5f�mUx��upPnln5huqti£egpDj}wgkDhTn�qtcPn _�Y8O�DEZ[MG`ab6K+B cPn'x3hTnl| FDw{n3� bdcPn¯jli<mo�Pegw{n'|�mUx�� � i<|r|t�£qtcDxzqi<����n'j�qGf�wge{�3n XRYRU*D � � cDegjGc�e�f�hTnGFDpDn'hyegpyqtcDn _�Y8O�DGZ[ME`ab moi�hPkPw{n!��x<|tn��Vn'e{pP�uhTnGFVpPn'hymoi3|tnUqrcDxzp�i<pDjln<� � cPe�jGc�egfegw{wgnl�$xzw:��#�f�xzpun}�Pxzmo�Pwgnoiz� � cVx�q�moe{�3c3q�iTjljlkP| � cPn'p��3i<k ¬ |tn��P|ri<�3|rx<m�moegpP�D�&qrcPn WPD*`8X � j}w�x<frf�m�eg�<c$q��&nokDf�n5h����xzpDizqtcDnl|Kjlwgx3ftf'��ftx�� �[`PZ>ORMPZ x<pDh��&izqrc�j}w�x<frf�n5f moeg�<c$qK�&n¢kVf�n5h�����qrcPn�mUx<e{p��D|ti3�<|Gxzm�� « p�qrcPegf0fte�qrkDx�qre{i3p � F8`RZ2ORMPZ K�XaFEF� egw{w cVx�v<n�x � _ p?XPN�U[TEM i<� O�D[`8X� K+B xzpDh�fti � e{wgwIqrcPn�mUxzegp �P|ti3�<|Gxzm��ObdcPe�f¥jlx<kDf�n5f¤qtcPn j}i<mo�Pegwgnl|dqti�jli<mo�Pw�xzegp)qtcDxzqqtcDn WRD[`8X � j}w�x<frf¤egf[�&nlegpP�o|rn'hTn FDpPn'h �

bdcPn�fti<wgkTqtegi<p�e�f[x�qt|regjG��i<�KqrcPn��P|rnGX �P|ri�jln'frf�i3|'� � bdcPn'|tn�mUx����&n�izqrcPnl|dqr|te�jG�Tfdi<kTq[qrcPnl|rn<�Di<|[f�mUx<|�qrnl|¥j}i3mo�Pe{wgnl|Gf'��PkTq�qtcPe�f¥e�f�xUf�qrx<pDhPxz|Gh�f�i3w{kPqtegi<p)qti�xUjli<momoi<p��P|ri<�Pwgnlm�� ��bdcPn��P|tn X:�D|tiTj}n5ftfti<|dcDx3f¥xUj}i3pDhTe{qtegi<pDx<w�f�qrx�qrnlmonlp$q�egp e{qqtcVx�q � egw{wKf���eg�£f�i3m�n�wgegpPn'f[i<�®j}iThTn�e{�Ox+¨rf���m �Vi3wgª�e�f¥hTnGFVpPn'h�i3|¥pPizq�hPnGFDpPn5hI� ��i3p ¬ q�qtcPegpP�¯qti�iUm�kDjGc£x<�Vi3kTq � cDxzqqtcDn'ftn�¨rf���m��&i<w�frª�xz|rn ��qtcDnl� xz|rn�pPi<q�x��Dx<|�q§iz���3i<kP|��P|ri<�3|rx<m)�VqtcDnl��x<|tn���kDf�q�x¯�Dxz|tq�i<��qrcPn �D|tn X:�P|riTj}n5ftfti<|5��bdcDn�P|rnGX �P|ri�jln'frf�i3|¥xzw�f�i�cDx<f�x�hTeg|rn'j�qre{v3n�qri�mUxz�3n�x�ft��m��&i<w0hTnGFDpDn'hI�§bdc�kDfl�&qrcPn���i3w{wgi � e{pD�Uqt|regjG� � egw{w0n'pDf�kD|tn�qrcDx�q�qtcDnnlpVj}wgi3ftn'h¯w{egpPn'f¥iz�-jliThTn�xz|rn��D|tiTj}n5ftftn'h¯i<pDw{��i3pDj}n �� _�tRp[T*MGt W � �Gu>s �� T*MPt2_qp8MyW � �Gu>s �N8_qp[M8O YGtXRYGTEM� MRp*T2_�t« q � i<|r�Tf[�&n'jlx<kDftn�qtcPn FD|Gf�q�wgegpPn frx��Tfdqti��D|tiTj}n5ftf[qtcPn w{egpPn'f�kP��qri�qtcDn � MRp*T2_�t i3pPw{�)e{�OqtcPn W � �Gu>s � egf�pPizq§hTnGFVpPn'hI�bdcPn�ftn'jli<pDhowgegpPn�hTn FDpPn'f®qtcPn�f���m �Vi3w9�0bdcPnl|rn}��i3|tn3�<e{q'¬ f�jli<momoi<poqti�nlpDjlw{i$f�ndqrcPn�jli<p$qtn'p3qGf®i<�Ix§cDn'x<hPnl| FVw{n � e{qtc�qtcDxzqe�hTe{i3m��TqtionlpVf�kP|rn�qtcDxzq¥e�q�j'xzp)�Vn � _qp?XPN�U[T*M ¬ h�x<fdmUxzp��Uqre{mon'f�x<fdpPn5j}n'frfrxz|r�<� � e�qrcPi<kTq�j}i<pP��kDf�egpP��qtcDn�j}i<mo�Pegwgnl|5�

bdcPe�fOj}i3pDhTe{qtegi<pDx<wPj}i<mo�Pegw�x�qtegi<poxz�De{wge�q���egfOx<wgfti�j}i<momoi<pDw{��kVf�n5h���i3|®hTnl�PkD�<�<egpP�§f�qGx�qrnlmonlp$qrf'�3ftegpDj}nd�<i3k�j'xzp�n'x3f�egw{�qtkD|tp)qtcDnlm�i3p)x<pDh)i M0�Tiz�©qrnlp � e�qrc ��kDf�q�xUjli<momUxzpDhDX:wge{pDn�i3�Tqtegi<p¯qti�qrcPn�j}i3m��De{wgnl|5�

% �

Page 68: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��� � �� ���� � e e � � j�� �� �-�egv<nlp�x�hTnl�&nlpDhPnlpDjl���<|Gxz�Pc¯w{eg�<n FD�3kP|rn %D� �D�$cDi � hTi � n§j}i3mo�Pe{wgn�qtcPn§�P|ri<�3|rx<m �¯bdcDegf[hTn'�Vn'pDhPf'�Tiz�0j}i<kD|rftn<��i<p¯qtcDnj}i3mo�Pe{wgnl|q{T«�¬ w{w�hPn'frj}|re{�&n§cPi � qri�j}i<mo�Pegwgn�e{q¥kDfte{pD� qrcPn�pPn5xz|rw{��kD�Pe 5$kPe{qti3kDf[j}i3mo�Pe{wgnl|Gf¤��|ri<m -0/�¦ � �$jlj§xzpVh���+,+ �I nlq'¬ f FD|Gf�q�hPegfrj}kDfrf�cPi � qti£jli<mo�Pegw{n¯x��P|ti3�<|Gxzm qrcDx�q�e�f &?���hTegv�eghTn5hukP�ye{p$qri£f�n'�Dxz|Gx�qrn�moiThTkPwgn'f'��bdc$kVfl�-e�q5¬ fj}i3mo�Pw{nlqtn�e{p)i<pDn6FDwgn§xzpDh�qtcPn§j}i3mo�Pe{wgnl|[x<pDh�jli<mo�Pegw{n§xzpDh¯wge{pP�Ue{q[e{p¯i<pPn§f�qtnl���®bdcPegf¤e�f¢qtcPn§n'x3f�egn'f�q[jlx<ftn<�-« ��qrcPn FDwgne�f tEYEYCK%XEX � � n§n}�Tn'jlkTqtn§i<pDn�iz��qrcPn§��i<wgwgi � e{pP�Ujli<momUxzpDhPf �x��� t*YGYCK%XEX��GY t*YEYx��� �Rx t*YEY�K%XEX��GY t*YEYx��� �B�[`*NEN �Rx t*YEYCK%XGX��GYyt*YEYbdcPnof�n5j}i3pDh£v3nl|Gf�egi<p£wgegpP�Tf�egp�qtcPnohTnl�DkP�<�3nl|�e{pT��i3|tmUxzqtegi<p � x<pDh qrcPnowgx3f�q�x<hPhDf�qrcPn � x<|tpPegpP�$fl�;EDi<|§f�egmo�Pw{e�j}e{q��<��«�¬ m�<i3e{pD��qriUi<moe�q[qrcPn'ftn§i<�Tqre{i3pDf¤��|ri<m�qrcPn���i<wgw{i � egpP�on}�Px<m��Dw{n5fl�T�PkPq¥�<i<k�jlx<p)x<w � x��Tfdx<hPh¯nle{qtcPn'|¥i<|[�&izqrc �bKi�j}i3m��De{wgn¯x �D|ti3�<|Gxzm wgeg�<n T*Mab?Y� � � n�cDx�v<nUqri FD|Gf�qoj}i3m��De{wgn�n'x3jGc�f�e�hTn3�0qtcPn'p�w{egpP�uqtcDn�q � i qti3�<n}qrcPnl|5�£«�¬ w{wp�kPm��&nl|dqrcPn'ftn�f�qtnl�Vf �x��� �[X T*Mab2Y� CK%XEX �GY TEMab?Y� CK Y IGI ]x��� �[X O�D[`[X � K%XaFGF �GY O�D[`8X ��KSY IGI x��� T*Mqb?Y� CKSY OaD[`8X � K Y �GYyT*Mab?Y� IGI \ � N[_qp��/¥i<qte�j}n�qtcDxzq�qtcDnuf�qtn'���P�¥wgegpP��e{pP�V�¥cDx3f�pPi f�i3kP|rjln FDwgn'f {§i<pPwg��i<����n5j�qTFVw{n5fl� « � � nujGcDxzpP�3n qtcDn�fti<kP|Gj}n�jliThTn�egpO�D[`[X � K%XaFGF � � n§i<pDw{��cVx�v<n�qtio|rn'hTiUf�qtnl�Vf � xzpDh$�P�O« � � n�jGcDx<pP�<n�qtcDn�f�i3kP|rjln�j}iThTn§e{p T*Mab?Y� CK%XEX � � n�i<pPwg��cDx�v3n�qri|rn'hTiUf�qtnl�Vf � x<pDh �P�

� ����� � � � ����� �

#�fKqrcPn[hTnl�&nlpDhPnlpDjl���<|Gxz�PcVf qrcDx�q � n¤hT|Gx � ��i<|Ojli<mo�Pwgn}���P|ri<�3|rx<mof��<nlq-�Peg�<�3nl|0xzpDh��Peg�<�<n'|'��e{q®jlxzp �Vn5j}i3m�n[jli<pT��kDftegpP�qtiUhTnlqtn'|tmoegpPn � cDx�q[pPn'n'hPf¤qriU�Vn§|rn'jli<mo�Pegw{n5h � cPn'p f�i3m�n§jGcDx<pP�<n5f¤x<|tn§mUx<hPn<� � kP|[wgegf�q¥iz�KqtcP|rnln�j}i3momox<pDhPf'�Px<fdegpqtcDn w�x<f�q�ftn'j}qtegi<p � � egw{w-�<|ri � qti¯x�w{e�f�q�i<��x�hTi �lnlp�i<|�moi3|tn3� �§n'nl�PegpP�Uqr|rx3jG�¯i<� � cDx�q§j}i3m�mUx<pDhPf�pPnln5h�qti)�Vn�hTi<pDne�fdqtcPn��P|ti3�Pwgnlm fti<wgv<n5h�����qtcPn�¦�pPe{�)�P|ri<�3|rx<m�jlx<w{wgn'h b?`��*M �®bdcPn b2`��[M �P|ri<�3|rx<m |tn�5$kPe{|rn'fd�3i<k¯qti � |re{qtn�hTi � p)qtcDnhTn'�Vn'pDhTnlpVj}���<|Gxz�PcUxzpVh�qtcPn�jli<momUxzpDhDfOpPn'jln'frftx<|t��qti�jl|tn5x�qtndqGxz|r�<nlqrf:� i<����n5j�q FDwgn'f'�$n}�Tn'jlkTqrx<�Pw{n FVw{n5fl�$i<| � cVx�qtn'v<n'|0�}�z®i<kojlx<p�qrcPnlpoj}i3mo�Pe{wgn[x��P|ti3�<|Gxzm ��kDf�qO�$��|tkPpDpPe{pD� b?`��[M � � cDegjGc�|tn5x<hPfKqrcPn[hTnl�&nlpDhPnlpDjl���<|Gxz�Dc xzpVh hTi�n5f � cVx�qtn'v<n'|e�fdpPn'jln'frftx<|t�3�

����� � # $&% ������ � � ��$&%'�$ �bdcPn�hPnl�&nlpDhTn'pDj}�)�<|Gxz�Dc)x<pDh¯qtcPn�jli<momUxzpDhDf¥xz|rn�f�qri<|rn'h)egp�x FDw{n�j'xzwgw{n5h �*`��[MGt2_�NGM i3| b2`��[MGt2_�NGM �®bdcPn�f�qt|rkDj}qtkP|rniz�OftkDjGc)x FDwgn�e�fdw{eg�<n �D[`PZGx[MPD H T*MRF8MRp*T*MRp?X*_�M8O

XRYabGb?`Rp[T>O« p�qtnl|rmUf§iz�¤i<kP|�hTn'�Vn'pDhTnlpVj}���3|rx<�Pc � x�qrx<|t�3n}q�egf§fti<mon}qrcPegpP�)qti � xz|GhPf¥qrcPnU|re{�3c3q�qtcVx�q�egf�qrcPnUi<kPqt�PkTq�i3|�|rn'ftkPw{q�iz�fti<mon�f�qtn'� �®bdcPn§j}i3m�mUx<pDhPfdxz|rn�qrcPn�f�qrnl�Df¢qrcDx�q¥j}|rn'xzqtn�qtcDxzq FVw{n3�®bdcPn�hTnl�&nlpDhPnlpDjle{n5f¤x<|tn�qtcDn FVw{n5f�qrcDx�qdqrcPn�qrxz|r�<nlqhTn'�Vn'pDhPf�i<p �[bdcPn �Dx<ftegj§|rkPwgn�iz�®xUmUx<�<nGFVw{n�e�f � e{��xoqrx<|t�3n}q¥e�f¥i3wghTn'|[qtcVxzp�x<p$�¯iz�®e{qrf�hTnl�&nlpDhPnlpDjl�VFVw{n5fl�DqtcPn�qrxz|r�<nlqe�fdi<kTq¥i<�0hPxzqtn�xzpVh)fti qtcPn�jli<momUxzpDhPfdm kDf�q¥�Vn�|rkPp�e{p)i<|GhTn'|dqtio�P|re{pP��qrcPn§qrx<|t�3n}q[kP�)qtiUhPxzqtn<�

« p FD�3kP|rn %P� �D� � n��<egv<n�qtcPn�f�qrnl�Df���i3|�jl|tn5x�qtegpP�UqrcPn qrxz|r�<nlqrf�iz�®i<kD|�hTn'�Vn'pDhTn'pDj}� �3|rx<�Pc ��bdcDn�mUxz�3nGFDwgn���i3|�qrcPegf�P|ri<�3|rx<m egf[ftkP�DftkPmon'h)���UqtcDn§��i<wgw{i � egpP�omUxz�<n FDwgn �VEV � x���� �Rx ���8`*NENT*Mab2Y� CH�O�D[`[X � KSY�T*Mqb?Y� CKSY� ��VGV����GYyT*Mab?Y� O�D*`8X � KSY T*Mab?Y� �KSYO�D[`[X � KSYCH'O�D[`8X ��K+B O�D[`8X� K%XaFEF

% �

Page 69: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

demo2

stack.h

stack.cpp stack.o

g++ demo2.o stack.o −o demo2

demo2.cc g++ −c demo2.cc −o demo2.o

g++ −c stack.cpp −o stack.o

demo2.o

E-eg�<kP|rn %P� � � ¡$qrnl�Dfd��i3|�¡�nl�Vxz|Gx�qtn�~¢i3m��De{w�x�qre{i3p

� ��VGV����[X��GY OaD[`8X � K Y O�D[`8X ��K%XaFEFT*Mab2Y� CKSYCH'O�D[`8X ��K+B T*Mab?Y� CK%XEX� ��VGV����[X��GY TEMab?Y� CK Y�T*Mab?Y� �K%XEXXPNGMG`RpLHZ�b � KSYyT*Mab2Y�

bdcPegpP�3f�qti�pPi<qte�j}n�x<�Vi3kTq¤qtcDxzq¤mUxz�3nGFDwgn � FD|Gf�q'�$qtcPn O�D[`[X � K+B FDwgn�egf¤monlp$qtegi<pDn'h�egp�qrcPn§hTnl�&nlpDhPnlpDjl�Uw{e�f�qd��i3|¢n5x<jGciz�OqrcPn K Y FDwgn'f'�If�egpDjln�qtcDnl� m�kVf�q§�Vn |tn5j}i3m��De{wgn'h e{�®qrcPn O�D[`8X ��K+B FDw{n�jGcDxzpD�<n'f'��bdcDn b?`��[M �P|ri<�3|rx<m hTi�n5f�p ¬ q§w{i�i<�egpDf�e�hTn��3i<kP|[fti<kP|Gj}n FDwgn'fdqrioftnln � cVx�q[izqrcPnl| FDwgn'f[qtcPn'��hTnl�&nlpVh�i<p �Pftio�<i<k)cDx�v3n�qri�hTi�qtcDxzq¥�<i<kD|rftnlw{���

¡�n5j}i<pVhTw{�3� �<i3k�j'xzp+hTnGFDpDnu¨tv�xz|regx<�Pw{n5ª�qri f�qGxzpDh���i<|§�P|ri<�3|rx<mof'� FDwgn'f'� i<| � cDxzqtn'v<nl|5� � nl|rn<� � nUhTn FDpPn'h�qtcDn VGVv�xz|regx<�Pwgn�qriom�n5xzp¯qtcPn x��� jli<mo�Pegw{n'| � e�qrc¯qrcPn �[x xzpDh � �[`*NEN i<�Pqtegi<pDf'������ �"! � �����(������ � � ��$��� pDjln��3i<k ¬ v<n � |re�qtqtnlp x+W£x<�<nGFVw{n3�T�<i<k�jlx<p)jl|tn5x�qrn§x qGxz|r�<n}q[���,��kDf�q�frx��$egpP�b?`��*M � ���� � �bdcPn�mUx<�<n��P|ri<�3|rx<m � e{wgw�|rn'jlkP|Gf�egv<n'w{��mUx<�<n�x<w{wIqrcPn hPnl�&nlpDhTn'pDj}egn'f�iz�0qtcDegf ,2/ (P#[kP��qri�hPx�qrn<�&xzpDh)qrcPnlp£mUx<�<n§qtcDnqrx<|t�3n}q[kP�)qtiUhPxzqtn3�O« �-�3i<k�hTi<p ¬ q¥f��&n'jle����)x�qrx<|t�3n}q'��mUxz�3n � e{wgw kDftn�qtcPn FD|Gf�q¥i<pPn§monlp$qtegi<pDn'h¯e{p)qtcDn�mox<�<n FDw{n3�

« p�qtcDn�n}�Px<m��Dw{n�mUx<�<nGFVw{n�x<�Vi�v3n<�V�<i<k mUx��)cDx�v<n�pDizqte�j}n5h£xoqGxz|r�<n}q�jlxzwgwgn'h�¨tjlw{n5xzp � ª !�n�jlxzp�cDx�v<n§qGxz|r�<n}qGf[wge{�3nqtcDegf�i<pDn�qrcDx�qUhTi<p�¬ qUhTnl�&nlpVh�i3psxzp��$qtcDe{pP�V�®f�i�qtcDnl�6¬ |rn ,2" : , �a5 i3kTq�i<��hPxzqtn<��bdcVx�qom�n5xzpDf�qtcDn)jli<momUxzpDhPf � egw{wxzw � x���f¥�Vn n}�Tn'jlkTqtn5hI�¥bdc�kDfl�6xUmUxz�3nGFDwgn�j'xzp£f�qti<|rn�x<|t�Pe{qt|Gxz|r��ftn}qGf�i<�Ojli<momUxzpDhDf[qtcVx�q�j'xzp n5x<fte{wg�¯�&n�nl�Tn'j}kPqtn'h����mUxz��egpP�Ux �Vxz|tqte�j}kPw�xz|¤qrx<|t�3n}q5�

« �d�<i<k�nlv3nl|�hTi � pPwgi3x3h�¦�pPe��+f�i<�©q � x<|tn ��|ri<m qrcPnU« p$qtnl|rpPnlq'���3i<k ¬ wgw FDpDh�qtcDxzq�e�q�i<�©qtn'p+jli<mon'f � e{qtcyx W£x<�<nGFVw{n3�xzpVh�qrcPn�e{pVf�qr|tkDj}qtegi<pDf[��i<|¥j}i3mo�Pe{wgegpP�UxzpDh¯e{pVf�qGxzwgw{egpP�Ue{q�xz|rn�qri�hTi �b?`��*Mb?`��*M _ p?O�D[`*NGN~¢i<p�v3nlpPegnlp$q'�TpDi �

z®i<k jli<kPw�h nlv<n'p�kDf�n ¨�mUxz�3n'ª � e�qrc���x�v�x��D|ti3�<|GxzmUfl�¤f�i+qrcDx�q�qtcPn�hPnl�&nlpDhTn'pDj}�s��i<|�n'x<jGc K%XPNG`[OEO FDwgn e�fUqtcDnj}i3|t|rn'ft�&i<pDhTegpP� K G`�[` FDwgn<�Dx<pDh¯qtcPn�j}i3momox<pDh)egf¤qriU|tkDp E`�[`[X qrio|tn X jli<mo�Pegw{n3������ �"� � � �*������ � � ��$&%'�$ �bdcPn'|tn�egf¤i3pPn�x � ��kPw9��cPi3|t|reg�Pw{n§ftn'j}|rn}q¢qti � |re�qre{pP��mUxz�3nGFDwgn'fdxzpVhUqtcVx�q[egf¢qrcDx�qdqtcDn§jli<momUxzpDh�w{egpPn5f$� *E5���&nl�3e{p � e�qrcxu¨�qGxz�DªojGcDx<|rx3j�qtn'|'�O¡��Dx3j}n5f � e{wgwIpPizq�hPiD�O«¢j'xzpPpDizq[e{mUx<�<egpPn�xzp x<hTn�5$kDx�qrn�hTnl��nlpDftn§��i<|dqrcPe�f¥f�qrkP�Pe�h)|tkPwgn<�D�PkTq¥e{�-�3i<knlv3nl|degp3qrnlpDh¯qri � |te{qtn�xomUxz�3nGFDwgn<���<i3k¯cVx�v<n�qtio��pPi � qrcPe�fl�

%Q�

Page 70: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ����� � � ��� � ����� � � � � ��� �� � f k � � � ���bdcPn'|tn�e�f�xzpPi<qtcPn'| hTe M&n'|tn'pDj}n¯�Vnlq � n'nlp ~ � ~ ����w{egpP��egpP��x<pDh��$x�v�x�wgegpP��e{pP��qtcDxzq�hTn5f�n'|tv3n'f�x��P|re{nl�¥m�n'p$qtegi<p ���$x�v�xwge{pP��egpP��e�f�hP�$pVxzmoegj � e��¢x�m�iThTkDw{n i<|�jlwgx3ftf¥qtcDxzq�e�f�egmo�Vi3|�qrn'h e�ftp ¬ q�kDftn'hI�&e�q � i<p ¬ q��&n�wge{pP�3n'h � e{qtc£qtcPn�|tn5f�q�iz�OqtcDn�P|ri<�3|rx<m i<|dw{i$x<hTn5h�egp$qtiUmonlmoi3|t�3� EDi<|[nl�Tx<mo�Pw{n �_�t��'F*Z2_�b?M���r�� � �

WPD[`8X� O � p8MRJ WPD[`8X� � ���KEKEK

« �OqtcDegf�e�f¥qrcPn�i3pPw{��kDftn�i<�OqtcPno¡$qrx3jG��i<����n5j�q�egp£qrcPegf��P|ri<�3|rx<m)�&xzpDh qtcPn v�x<w{kDn�iz� r pPn'v<n'|¥qtkD|tpDf�i<kPq�qti¯�Vn �P|re{mon<�qtcDn�¡$qGx<jG�omoi�hPkPw{n�egf¢pPn'v<nl|¢w{egpP�3n'hUegp �ObdcPe�f�e�f¢jli�i<w:�3�PkPq¤e{q¢mon'x<pDf�qtcDxzq�qtcDn�|rkPpDX:qtegm�n�f��Tf�qtn'm�cVx<f�qti�cDx�v3n�x�wgegpP�<n'|egp)e{q'� � cPegjGc�jlx<p��Vn��Peg�UxzpDh)ftw{i � �~ � ~����aiz�©qrnlp+egpDf�e�f�qrf�i3puf�qrxzqte�jow{egpP��e{pD�D� � cDegjGc+mon'x<pDf�qtcDxzq � cPnlpuqrcPnU�P|ri<�<|Gxzm e�f§�PkPegw{q'� � nUcDx�v3n�qri£hTn'jleghPn� cDxzq�moi�hPkPw{n5f®qri�wge{pP� � e{qtc�e{q'�0« �IqrcPnl�Uxz|rnlp�¬ q�kVf�n5h � cPnlpUqrcPn��D|ti3�<|Gxzm nl��n5j}kTqrn'f'�<qrcPn � i<|r� � x<f � x3f�qrn'hI�$�PkTq¢qtcDxzq� x<ftp ¬ q[x�qd|rkPpDX:qtegm�n3�Tf�i � n3¬ |rn � egwgw{egpP� qti��Dx��oqtcDxzq¤�D|te�j}n3�-« q¥x<wgfti�mon'x<pDf¢qtcDxzq¢qrcPn�f�e �ln�iz��qtcPn�n}�Tn'jlkTqrx<�Pwgn�e�f¤�Pe{�3�<n'|qtcVxzp�egfdpDn'j}n5ftfrxz|r�<�

� i � nlv3nl|5� moiThTnl|rp�j}i3m��De{wgnl|Gf§��i<|U~ � ~ ��� � e{pDjlw{kVhTe{pD�£qtcDn�i<pPn5f���|ri<m-0/�¦ �}�Ojlxzpyx<w{wgi � hP�$pVxzmoegj'xzwgw{�uwgi3x<hPn'hmoiThTkPwgn'f'� w{egpP��egpP�)qtcPn'm egpuxzq§|rkPpDX:qtegmon<� � p+¦¥pPe{��mUx<jGcPegpPn5fl�IqrcPn'ftn�FDwgn'f§kDftkDxzwgwg�£nlpDh�egp K%ORY xzpDhuxz|rn ��i<kPpDhuegpIEN8_ � hPe{|rn'j}qti<|regn'f'� � p$! egpDhTi � fdmUx<jGcPegpPn5fl��qrcPn'ftn FDwgn'f[xz|rn�jlx<w{wgn'h � � � f'�$��i<|¥hT��pDx<m�e�jlx<w{wg��wgi3x3hTn'h¯w{eg�P|Gxz|re{n5fl�

� ����� w � �� :� � � � � � �9� � ��� ��

#¥pDizqtcDnl|§egfrftkPn�qrcDx�q�jli<mon'f�kP��qtcDxzq�«�hTe�hTp ¬ q�m�n'p$qtegi<p�n5xz|rw{egnl|�e�f � cPnlpuf�n'v<nl|Gxzw-moiThTkPwgn'f � xzp$q�qri¯mUx<�<n�kDf�n�iz�¤x�<wgi<�Vxzw6v�xz|regx<�Pw{n3�ObdcPnl��x<w{wIpDnln'h�qtiUftnln�qtcDn�hTn'jlwgx<|rxzqtegi<p�i<��qrcPn§v�x<|te�xz�Dw{n3�Te{p)i<|GhTnl|¤qri���pPi � e�qGfdpDxzmon�xzpVh�q����&n<�DftiqtcDn�hTn'jlwgx<|rxzqtegi<p � e{wgwD�3i�e{p$qri�x�cPn'x3hTnl| FDw{n3� � i � n'v<n'|'�zi3pPwg��i<pDn[m�iThTkDw{n�j'xzp�x3j�qtkVxzwgw{��j}|rn'x�qrn � hTn FDpPn��OqtcPn�v�x<|te�xz�Dw{n3�xzpVh�qrcPn§qt|ri<kD�Pw{n§e�fl�Dv�x<|te�xz�Dw{n§hTn'jlwgx<|rxzqtegi<pDfdx<pDh�hTnGFDpDe�qre{i3pDf¥xz|rn§j}i<m �PegpPn'h)egp3qrioi<pPn�ft��p3qGx��;� kPpPwge{�3n§��kPpDj�qre{i3pDf¥x<pDhmon}qrcPiThPf �}�

bdcPn�fti<wgkTqtegi<p)egf¤qriUhTn'jlwgx<|tn�qtcPn�v�x<|te�xz�Pwgn§x<fo¨�nl��qtnl|rpDx<w9� ª � cPe�jGc)m�n5xzpDf¤qrcDx�q�fti<mon'i<pPn�nlw�f�n � egw{w x3j�qrkDxzwgw{�¯hTnGFDpDne{q'�®bdc�kDf'�TqtcPn�cDn'x<hPnl| FDwgn�j}i<kDwgh)cDx�v3n �MPrED*MPZGp _qp*D x8NPY �8`*N *XRYRUEp*D*MPZ �

bdcPn'p¯egp)qtcPn�mUxzegp��P|ri<�<|Gxzm#�9xo�<i�iTh��Pw�x<jln�qtio�PkTq�x<p��3qrcPegpP��qrcDx�q¥m kDf�q¥�Vn�hTn FDpPn5h¯i3pDj}n!��� � n�jlx<p¯�PkPq �_qp*D x8NPY �8`*N *XRYRUEp*D*MPZ������

bdcPn§kDftn'fdi<�-nl�$qrnl|rp)x<|tn3����i<|tqtkPpVx�qtn'w{�3�T|rx<|tn3���PkTq¥qrcPnl��hPi�xz|regftn�egp�|tn5xzw:�Pj}i3m��Dw{nl���P|ri<�<|GxzmUf'�

% �

Page 71: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ��������� �� � � � � � ��� � � � � ����� � � ��� ���

����� ������������� �"!#%$'&�(�)+*-,.$'&0/213,54768&�9+&�:;/2<�=><@?BAC9+DFE.GH<IEKJK&L$;?C,M$",.NO1P$;:;,Q<R$;1SEMTQ&�:UE89+&0EQ:S(>EQ:'&�$PVW)X&�1�Y[Z\$�] 13,81S/^G VQE8A_$'EWE8D`,>9+EQ:'(a,8*)+/-&�<�&bE.G[<IEKJK&c,89CJd:'&�)+*2,8<I&eJf,.*-*g$'?+&b$PVB)X&�1"GhE8:�1'E8(�&L$;?+/^9C6Q1cijTM,.:;/-,8N+*^&e1�k+GhA+9C<R$;/^EQ9C1@lSm3/n$;?o,a)C,8:;,8(>&�$'&�:�Y I &I$e] 1�*^EWE8D,M$",89d&�p+,.(�)+*-&8Y[q"&�:'&Q] 13,rGhA+9C<I$'/-E89f$;?C,M$":;&I$;A+:'9O1s$;?+&0*2,.:;68&�:SE8Gt$PmUE>,8:'6QA+(�&�9B$;1�uvewKxzygve{W{+| Z~} v�wKx��s��v�wKx����z� Z |Qx U*Z w��������z���f�����q"EMmU&�TQ&�:eke$'?+/21~EQ9+*^Vcm�EQ:'DK1tGhE8:~/-9B$'&�68&�:@1�Y�Z\G�m�&3mS,.9B$H$'E0m3:;/n$;&3E89+&UGhEQ:H�CEQ,.$;1~,89CJrJ+E8A+N+*-&�1�k8mU&S?C,�T8&U$;EbJKA+)+*-/-<�,M$;&$'?C&b<IEKJK&8uvewKx ygv�{B{+| Z~} vewWx �s��vewKx ����� Z |Qx U*Z w������������_������+� YB� x ygv�{B{+| Z~} �+� YW� x �s� �+� YB� x ����� Z |Qx U*Z w������������_������ YRU y � |�ygv�{B{+| Z~} � Y�U y � |��s� � YRU y � |������ Z |Qx U*Z w������������_�����  EKJK/-9+6>$'?+/213mS,�Va/-13NXE8:;/-9+6CkW)C,8/^9KGhAC*�,.9CJd&�:':;E8:S)+:;E89+&QYH¡z?C,M$"mU&LmU,89Q$3/21U$'Ea/-9B$':;EWJ+AC<I&01'E8(�&0,.NC17$':@,8<I$'/-E89¢ux+|�£+¤ � � x+|�¥ X � �C¦B¦ w U £O§W�Q¤C|K�w U £C§W�B¤C|�ygve{W{+| Z~} w U £O§W�Q¤C|��s�dw U £O§W�Q¤C|������Z |Qx U*Z w����z�����¨�_�����©EMm0kXm3?+&�9+&�TQ&�:�mU&cAO17&r$'?+&cGhA+9C<I$'/-E89 ygv�{W{+| Z kC$'?+&  ¢ªRª <IEQ(�)+/^*-&�:�m3/-*^*[<I:;&�,.$'&c,FGhA+9C<I$'/-E89�E8G[$'?+&�,.)C)+:'EQ)+:;/-,.$'&$PVW)O&e1",.9OJ`/-9C<I*-ACJK&0/^$"/-9_$;?+&b<IEQ(�)+/^*-&�Jd<IEKJK&QY« &�(�)+*2,M$'&e1s,8:'&�17$'/-*-*OGj,8/^:;*-Vr9+&�m0kK,.9CJ�/^$�] 1U9+E.$UA+9WAC17AO,.*+GhEQ:U,c<IE8(�)+/-*-&�:~$;Ec(a,.DQ&�,b(�/21P$@,.DQ&"m3/n$;?_<�E8(�)+/-*^/-9+6c<�EWJ+&$'?O,M$"AC1'&�1U$;&�(�)+*2,M$'&e1�Y E E8:'$'A+9O,M$'&�*^VQk+17AO<@?d)C:'EQN+*^&�(a1U,8:'&LNX&�<�E8(�/^9C6>:@,.:;&8Y

���R¬ ­¢®>�H¯[°F±o²f³"´�®fµ¶�H·f�¹¸a�H�b®f±��0¯[±º�»�¼�����I���H�¾½»´�¿f¯[�0¯HÀ« ?+&FÁB$@,.9CJ+,8:;J « &�(�)+*-,.$'& I /-N+:@,.:;VÂiÃÁ « I l�/21L,_1'&I$0E8Gs$'&�(�)+*-,.$'&e1�$;Ef/^(�)+*-&�(�&�9B$b1'E8(�&>17$;,89CJ+,8:;J�J+,M$@,_17$':;AC<R$;A+:;&�1�k1'AC<@?d,Q131P$@,8<@DK1�k+ÄQAC&�A+&e1�kK?C,Q17?B$@,.N+*-&�1S,.9OJ`$;?+&0*-/^DQ&8YHZ\$"/-1�JK&�*-/^TQ&�:;&�J_m3/n$;?f(>EB1P$3(�EKJK&�:;9  ¢ªRª /-(�)+*-&�(�&�9B$;,.$'/-E89C1�YÅ�ÆMÇhÈ�ÉfÈeÊtÇÃË�Ë�ÉWÌ.ÈeÇjÍXÎ

ÏQÐ

Page 72: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

Ï8Ï

Page 73: cs.wellesley.educs.wellesley.edu/~cs249/Resources/CandCppForJavaProgrammers.p… · ! "$#&%'%)(+*-,).0/013254'#6. 7 1$898:13458:1= #6898:13?61 @-A BDC C EGFIHKJKL6MON BPH-Q

� ����������� �

� �

��� ,.DQ&�$;?+&b,.:;:'EMm"1�/-9 F 68A+:;& Ï Y��cNXE8*2JK&�:�Y��� :'6B,.9+/���&�$'?+&   17&e<R$;/^EQ9C1SNO&�$7$;&�:eY� m3:'/^$'&01'&�<R$;/^EQ9_EQ9_AC9+/^EQ9C1� m3:'/^$'&01'&�<R$;/^EQ9_EQ9 F *^&0Z�� � /-9   Y+$;,.*-D`,8NOEQAK$"1P$@JKE8AK$ekC17$;JK&�:':ek+1P$@JK/-9� ¡�:;/n$;&LA+)  ¢ªRª 1'VW9B$;,Mp��� ,.DQ&¼&�pW/217$'/-9+6   ªRª�17&e<R$'/-E89O1S(>EQ:'&L6Q&�9+&�:'/2<� ¡�:;/n$;&LA+)d$'&�(�)+*2,M$;&�1� F p « �   GhEQ:'(a,.$7$'/-9+6��� ,.DQ&¼AC1'&0E.G��8EQ?+9 I &�m3/21�] 13<�E8(�)C,.:;/217EQ9� $;,.*-D`,8NOEQAK$3EMT8&�:;*-EQ,8J+/^9+6c$'EWÁB$':;/^9C6>/-9��Q,�TM,>,.9CJ  ����� $;,.*-D`,8NOEQAK$36QJKN� JK/-17$'/-9+6QA+/-1'?dNO&�$7$'&�:"NX&I$PmU&�&�9�,QJKTM,.9C<�&�Jd1P$;A! �,.9OJ_NX&�6Q/^9C9+&�:"17$'A!

Ï#"