C++????????????????8?????
?????zacklin ???????[ 2016/10/25 10:21:11 ] ??????????????????? C++
????C++???????????????????г???????????????塣??C++?м????????????????????????????????????????????????????????????????????????????岢?????????????????????????????????????????????κα????????鵽?????????????????????????????????????????????????????????????????????????£?????????????????????????????????Щ???????????????????????????????????????????
??????Щ?????????????????????Σ???????????????????????????????????????????粻???????????????????????????????????????????????????????????????????·??????????Щbug????????Щbug????Ъ?????????????????bug????????????????????????б?????о????????????????????????????bug?????????????????????????????????в?????????Ч????
??????Щ??????????Visual Studio 2005 Express?????????????????澯??????????????????????????????????????????????????????е???????????????????澯???????Щ????????????澯????????????????????????????????????澯??????????????
????1.????δ?????
????????δ???????C++??????????????????????????C++?У?????????????????????????“?????”?????????????????????????????????????δ????????????????????????????????????????????????????????????????????????????????????????п????????Ъ????????????????????????????????μ??????Σ?
????if(bValue) //doA else //doB
???????bValue??δ?????????????????if?????ж???????????????????????????С??????????£??????????δ???????????????????????????????????????????????????????????????
????intfoo() { intnX; returnnX; }
??????????????Щ??????????????????棺
????voidincrement(int&nValue) { ++nValue; } intfoo() { intnX; increment(nX); returnnX; }
??????????????ο???????????????棬????????????????????????increment()????????ж?nValue?????
????δ??????????????????????У????????????????????????????????????
????classFoo { private: intm_nValue; public: Foo(); intGetValue(){returnm_bValue;} }; Foo::Foo() { //Oops??????????????m_nValue?? } intmain() { FoocFoo; if(cFoo.GetValue()>0) //dosomething else //dosomethingelse }
???????m_nValue??δ???????????????GetValue()?????????????????if??????????????п??????С?
????????????????????????????????????????
????intnValue1??nValue2=5;
??????????????nValue1??nValue2??????????5????????????nValue2??????????nValue1??δ???????????
????????δ?????????????????κ?????????3???????????????????????????δ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????г???????????????????????????????????ζ??????????????????????ζ???????????????????????п?????Ъ????????????????????????£???????????????δ????????????
????2.????????
????C++?е?????????????????????????????????????????????????????????????????????????????????????????????????????C++?У??????????????????????2???????????????????????????????????????????????????????????????????????????????????????????????????????
????floatfX=7; floatfY=2; floatfValue=fX/fY;//fValue=3.5
???????????????????????????????????????κ?С???????????????????????
????intnX=7; intnY=2; intnValue=nX/nY;//nValue=3
?????????????????????????????????????????????????????????????
????floatfX=7.0; intnY=2; floatfValue=fX/nY; //nY???????????????????????????????? //fValue=3.5
?????к??????????????д?????μ????
????intnX=7; intnY=2; floatfValue=nX/nY;//fValue=3(????3.5???)
??????????????nX/nY?????????????????????????????????????????????????????????????????nX/nY??????????????????????????????????????????????fValue????????????С????????????????
??????????????????????????????????????????????????????????????
????intnX=7; intnY=2; floatfValue=static_cast<float>(nX)/nY;//fValue=3.5
???????nX?????????float???nY????????????float???????????????????и???????????????????3.5??
?????????????????????????????????????????????????????????????
????z=x/y;//??????????????????????????
???????????????????????????????????????????????????????????
????intnZ=nX/nY;//???????? doubledZ=dX/dY;//?????????
?????й?????????????????????????????????????????????C++?????δ?漲??ν????????????????????????????????????????????????????磬-5/2????????????-3?????????-2?????????????????????????0????й?????????????????????0??????
????3.= vs ==
????????????????????м???????C++?????ū???????????=??????????????==???????塣??????????????????????????????????????????????????????????????
????//???nValue??0??????1????????nValue intfoo(intnValue) { if(nValue=0)//???????????????? return1; else returnnValue; } intmain() { std::cout<<foo(0)<<std::endl; std::cout<<foo(1)<<std::endl; std::cout<<foo(2)<<std::endl; return0; }
????????foo()??????????nValue??0??????1????????nValue????????????????????????????????????????????????????????????????
????0 0 0
??????foo()?е?if?????????nValue??????0??if (nValue = 0)????????if (nValue)???????if???????????????else?μ????????nValue????????????????????nValue??0?????????????????????0??
????????????н??澯?????????????????????????????????????????????????????????????????????ж?????????????????????????ó???????????????????????????????κ????顣????????????澯?????????????????????????????Щ????????????????????????=??== ??????????????????ж??н?????д???????????????==д??=??????????????????????????????????????
????4.?????з???????????
?????????????????????????????????C++?д???????????????????????????????????????????????????????????????????????????????????????????????????????????????з????????????????3????Щ???????????????????μ??????
????cout<<10–15u;//15u???????????
???????????????-5??????10??????з???????????15???????????????????????????????????????????C++?е???????????ν????????????????
????longdouble(??) double float unsignedlongint longint unsignedint int(??)
???????int?????unsigned int???????int??????unsigned int??????????10????????????????????????????????????????????????????????????????????
????cout<<10u–15u;
????????????????????С??????????????????????????????????????????????????????????????10u-15u = -5u?????????????????????????????-5???????????4??294??967??291????????32λ????????????????????????? 4??294??967??291??????-5??
????????????????и??????????????
????intnX; unsignedintnY; if(nX–nY<0) //dosomething
????????????????????if??佫????ж???????????????????????????
????C++????????????????8?????
????5.delete vs delete []
???????C++??????????????new??delete?????????????????????????????????汾?????????????????汾??new???????????????????????????????????????????????????????????????????á?
????Foo*pScalar=newFoo;
????delete????????????????new????????????????????????????????????????????????????????????á?
????deletepScalar;
??????????????μ??????Σ?
????Foo*pArray=newFoo[10];
???????д????10??Foo???????????????????????±?[10]??????????????????C++?????????????????????????new[]??????????????????????????new??new[]??????????????????????????????????????Ρ????????????????飬?????? delete[]????????
????delete[]pArray;
??????????????е??????????????????????????????delete???????????????????????????????н?????е?????????????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11