????2)??????“?????”?????????????Func2 ?????????x ???????????n ??????????????????????n ??????????n ??????10.
????void Func2(int *x)
????{
????(* x) = (* x) + 10;
????}
????⋯
????int n = 0;
????Func2(&n);
????cout << “n = ” << n << endl; // n = 10
????3)??????“???????”?????????????Func3 ?????????x ????????n ???????x??n ???????????????x ??????n??????n ??????10.
????void Func3(int &x)
????{
????x = x + 10;
????}
????&#8943;
????int n = 0;
????Func3(n);
????cout << “n = ” << n << endl; // n = 10
??????????????????????????“???????”????????“?????”??????д?????“?????”???????“????”?????????κ?????“???”????????????????“????”??????
????????“??????????????????????”??
??????????????????????????е???ζ???????????????????????Σ???
????????????????????????????????????????????????????????
?????????????????????????????“????”???????“????”?????????“???”?????????????????????????????????????????????????μ??????????????????μ?????????????????????????е??????
????——————————
??????????????c????????
????????????????More Effective C++ ????????????????????????????
?????????????????????????
?????????????????????????????ò?????‘*’??‘->’????????ò?????‘??’????????????????????????????????????????????????????????????ξ?????????????????????????????????
??????????????????κ???????????????????????á???????????????????Щ?????????????????????????????????????????????????Щ?????????????κζ??????????e???????????????????????????????????????????????????????????????????????????????????????????????????????á?
????“???????????”??????????“???????????????????????”
????char *pc = 0??  // ???????????
????char& rc = *pc??// ???????????
???????????к???????????????????????????????????????Щ??????????κ????鶼?п??????????????д???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????C++????????????????
????string& rs?? // ????????????????
????string s??"xyzzy"????
????string& rs = s?? // ?????rs???s
?????????????????????
????string *ps?? // δ??????????
????// ?????Σ??
?????????????????????????????ζ?????????????Ч??????????????????????????????????????????????
????void printDouble(const double& rd)
????{
????cout << rd; // ?????????rd????
????} // ?????????double?
???????????????????????????????????
????void printDouble(const double *pd)
????{
????if (pd)
????{ // ???????NULL
????cout << *pd;
????}
????}
????????????????????????????????????????????????????????????????????????????????????????????????????
????string s1("Nancy");
????string s2("Clancy");
????string& rs = s1; // rs ???? s1
????string *ps = &s1; // ps ??? s1
????rs = s2; // rs ???????s1??
????// ???? s1?????????
????// "Clancy"
????ps = &s2; // ps ??????? s2;
????// s1 ??и??
??????????????????????????????????
?????????????????????κζ??????????????????£???????????????????
????????????????????????????????????????????£??????????????????????????????????????????????????????????????????????á?
????????????????????????????????????????????????á?
????????????????????[].???????????????÷?????????????????????????
????vector<int> v(10); // ??????????????vector??????С?10;
????// ?????????????C???е???????(??????35)
????v[5] = 10; // ???????????????????????[]??????
?????????????[]??????????????????????????д??
????*v[5] = 10;
?????????????????v?????????????????????????????ò???????????????á????????????????????μ?????30??
?????????????????????????????????????????????????????????????????????????????????????????????????????????????£?????????????????
????void func(int* p?? int&r);
????int a = 1;
????int b = 1;
????func(&a??b);
???????????????????????pass by value???е????????????????????????????????????????
????p = someotherpointer?? //a is still 1
???????????????????????????????????
????*p = 123131?? // a now is 123131
?????????????????pass by reference???е??????????????????????????????
????r = 1231?? // b now is 1231
???????????????????????????????
???????????“???????”?????????????????????á????????ζ???????????????н????????á????ó??????????????????棬?????????????????
??????????????????????????????????????“???”????????????????÷???/?????????????? NULL ?????????????????????????????????????????????????????????? NULL ?????
???????????????????????????????????????????壬???????? C ??????????????????á?????????????Щ C++ ??????????????????????????????????????????????????к??????????????????????????????д??????????????????