C++???????????????????
???????????? ???????[ 2015/3/10 11:20:51 ] ????????C++ ??????? ????
??????????????????????????? variables with static storage????????? c++ ?????????????
?????????????
???????? C++ ???????????????????? main ???????????????????????????????е?????main ????????????????????????????????????????????????б???????????????????(seriously)?? ???????????????????????????????????????????????Σ?c++11 N3690 3.6.2)??
????static initialization: ??????????????ó?????????????г????????????? zero initialization ?? const initialization?????????????????????????????????????????????????????zero initialization ????????????? bss ?Σ?const initialization ?????????? data ??????????????????????????? c ??????????????????????????μ??
????dynamic initialization??????????????????????????????ò????????????????????int a = foo()????????????????????????????????ù????????????Щ?????????????? main ????????????????????????????????????(??????? static ????????)??
?????????????????????????????????????????е????о???????????????????????????С???????????????????????????????????????????????????????????????????????? hard code ?????????????????????????????????????????????????У???????????????????????????????
??????????????
????????????????????????????????????????????????????????????????????μ????????????????????????????????????????????c++ ???????й漲??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????α?????????п???????[1]??
??????????????????????????????????????????????????????????
????????????????????????????????????(?????????????)??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????---- ??????ɡ?
????????????
?????e???????????????Щ????????????????????????????????????????????????????????????????????????????????????????????????????????? cout?? cerr ??(???????????? log?? ??? cout ????????????????????)[2]??????????????????? cout ??????????????????? ???????????????????????
????Construct On First Use
?????????????????????????????????????????????????????????????????
????int get_global_x()
????{
????static X x;
????return x.Value();
????}
???????????????????????δ???????????????????????????????????????????????????????????????? variables with static storage?? ???????????????????????????????????????????????????? x ???????????????????????????????? x ?????? get_global_x() ??????????????????
???????????????????????????????μ??????
????int get_global_x()
????{
????static X* x = new X;
????return x->Value();
????}
??????????????????????? x ???????????????????????????????????: x ?????????????????й?????С????????????????????? x ?????????????????????????д????????????????????????????????????????????
??????
???·???
??????????????????
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