C++????????????????????????
???????????? ???????[ 2015/9/14 13:40:09 ] ????????.NET C++
????????????
???????? Java ?????? C++ ???????????????????????????????????????????C++ ?о??????????????????????????????????????????????????????????
????Object *myObject = new Object;
??????????????
????Object myObject;
????????????????????????? testFunc()????????????????
????myObject.testFunc();
?????????д????????
????myObject->testFunc();
??????????????????д???????????????????????????????????棬???д?????????????Ч???????????????????????
???????????? Joseph Mansfield
????????????????????????????????????????????????????????????????? C++ ???????
?????????????????????????????????????????????????ú?????????????? new ??????????????????????????????
????????μ??????????????????????????????????? ???????????????????????????????????????new???????????????????????
???????????
????????????У????г????????????????????????????????????????? Object myObject ??????????????????????????????????????????automatic storage?????????ζ???????????????????????????????????????? new Object() ????????????????????????????????????ζ?????????? detete ?????????????????????????????????????????????仰??????п???????????????????????
?????????????????????????????????????
??????????????????????????洢?????????????У?????????????д洢?????????????????????????/????????????????????????????????????
??????????????????????棬????????????????????????????????????????????????????????£??????治??????????????????????????? C++ ?????????????????????????????????????????ò?????????????
????????????????????????????y???????????????????smart pointer??????????RAII??????????У????????? container?????????????????????????????壨ownership???????????????std::unique_ptr ?? std::shared_ptr ????????????????????????????????????????????棨??μ? Rule of Zero????
???????
?????????????????????????????raw pointer?????÷??????????????????????????????????????????????????????????????????????????ò????????????
????1. ??????????壨reference semantics?????????????????????????????????????????????η?????????????????????????/??????????????????????????????????????????????????£???????????????????÷??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????塣
????2. ?????????????????????????????????????????????????????????????ò???????????????????????????????????????????????????????????????????????
????3. ??????ζ?????????????????????????????????????Ρ???????????????????????????????????????????????????????????????????????????????????????????????????? boost::optional ??????std::optional??????? C++ 14 ??? n3797 14 ?з??? ????
????4. ???????????????????????????????????????????????????????????????????forward declaration?????????????????????????????????????????????????????????????????????????????????Ч??????????? Pimpl idiom ?÷???
????5. ??C???C???????????????????????????????????£????????????????????????????????С?????????????????????????????????????????get????????????C?????????????????????????????????????????????????????????????У??????? deleter ?????????Ч?????????
??????
???·???
??????????????????
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