??????????????????????

?????????????????????????????

????1????????????????????????

????2???????????ú?????Ч??

?????????????????C++?????????????βκ???Ρ???????????????????βΣ?????????βε????????????????????????????κ??β?????????????????????βδ?????Σ?????????????????????????????????????????“?β?=???”?????βθ??????????????????????ε?????????????????ж??????????????????βΣ???????????????β??????κθ??????????????????β?????????????????????????????κα??????????

???????磺

void swap(int p1?? int p2) //?????????????н??????????????????β??p1?? p2?????????
{
    int p;
    p = p1;
    p1 = p2;
    p2 = p;
 }
void main( )
{
    int a??b;
    cin >> a >> b; //????a??b?????????
    swap(a??b); //????????a??b?????ε???swap????
    cout << a << ' ' << b; //??????

??????????????a??b????????????????н?????

???????????????

void swap(int &p1?? int &p2) //?????????????н??????????????????β??p1?? p2????????
{
    int p;
    p = p1;
    p1 = p2;
    p2 = p;
}

?????????У?????????????

??????????????&p1??&p2???p1??p2????ε??????????????????????Ρ????p1??p2??????ε????

???????????????????????????p1??p2????ε?????????t???????????????????????????????????????????????????????????????????????Ч??????????????????????.

????????????????????????

?????????

??????1???????÷????????????庯????????????????&

??????2???????÷?????????????????????????в???????????????????

???????磺

#include <iostream.h>
float temp; //??????????temp
float fn1(float r); //????????fn1
float &fn2(float r); //????????fn2
float fn1(float r) //???庯??fn1???????????????????????
{
??temp=(float)(r*r*3.14);
??return temp;
}
float &fn2(float r) //???庯??fn2?????????÷??????????
{
??temp=(float)(r*r*3.14);
??return temp;
}
void main() //??????
{
??float a=fn1(10.0); //??1?????????????????????????????????????
??float &b=fn1(10.0); //??2??????????????????? C++???в???漲??
??//?????????????з???????????????????????????
??float c=fn2(10.0); //??3????????????????????????
??//?????????????з??????????????????
??float &d=fn2(10.0); //??4????????????????????????
??//?????????????з??????????????????
??cout<<a<<c<<d;
}

?????????????????????????????1???

??????1????????????????????á????????????????????????????????????????????ó????"?????"???????????????δ?????

??????2???????????????new????????????á?????????????????????????????????????????????????????new????????????????????????????ξ??檔???磬?????????????????????? ??????????????????б?????????????????????????????????????new??????????????memory leak??

??????3??????????????????????????const?????????????????????????????????business rule?????????????丳????????Щ??????????????????й??????б??????????????????????????С????????????????????????? ??????????????????????????????????????????????????

????????????????飬????????????????????????????????????????

??????Effective C++??

??????Thinking in C++??