BlizzardãElectronic ArtsãBullfrogã§C ++éçºè ããã³ããŒã ãªãŒããŒãšããŠé·å¹ŽåããŠããã²ãŒã æ¥çã®ããã©ã³ã§ãã Ben Deanã®äººæ°æçš¿ã®ç¿»èš³ãæäŸããŸãã
TL; DRïŒC ++æšæºåå§å¡äŒã«ã¯ãã²ãŒã éçºè ã®ããŒãºãç¡èŠãããšããé ããç®æšããªãããææ°ã®ãC ++ã¯ããããã°ããããèšèªã«ã¯ãªããŸãããå é±ãTwitterã§æŽ»çºãªè°è«ãè¡ã ããŸããã ããã®éã«ãå€ãã®ããã°ã©ããŒãç¹ã«ã²ãŒã éçºã®åéã§åãããã°ã©ããŒãããã¢ãã³C ++ãã®çŸåšã®éçºãã¯ãã«ã¯ããŒãºãæºãããŠããªããšçºèšããŸããã ç¹ã«ãéåžžã®ã²ãŒã éçºè ã®èŠ³ç¹ããèŠããšãèšèªã§ã®ãããã°ããã©ãŒãã³ã¹ã¯ãã¹ãŠç¡èŠãããããã«èŠããã³ãŒãã®æé©åãæåŸ ãããå¿ èŠã«ãªããŸãã
ç§ã¯2019幎ã«ã²ãŒã æ¥çã§23幎以äžåããŠãããšããäºå®ã®ããã«ãã²ãŒã éçºã«é¢ãããã®ãããã¯ã®èŠ³å¯ã«åºã¥ããŠèªåã®æèŠãæã£ãŠããŸãããããå ±æããããšæããŸãã ã²ãŒã éçºè ã«ãšã£ãŠããããã°ãã¯éèŠã§ããïŒããã¯ãªãã§ããïŒ ããã«é¢é£ããåé¡ã¯äœã§ããïŒ
ã¯ããã«-æŽå²ã«å°ãè±ç·ããŸãã
å€ãã®C ++ã²ãŒã éçºè ã¯ãMicrosoft Visual C ++ã§äœæ¥ããŠããŸãã æŽå²çã«ãMicrosoftãã©ãããã©ãŒã ãäžå¿ã«ã²ãŒã ã®å·šå€§ãªåžå Žã圢æãããããã¯éåžžã®ã²ãŒã ããã°ã©ããŒã®å žåçãªçµéšã«åœ±é¿ãäžããŠããŸããã 90幎代ãš2000幎代ãã»ãšãã©ã®ã²ãŒã ã¯ãããã®ç¶æ³ã念é ã«çœ®ããŠæžãããŸããã ä»ã®ã¡ãŒã«ãŒã®ã³ã³ãœãŒã«ã®åºçŸãšã¢ãã€ã«ã²ãŒã ã®äººæ°ã®é«ãŸãã«ãããããããä»æ¥ã®å€ãã®AAAã¹ã¿ãžãªãšå€æ°ã®ã²ãŒã ããã°ã©ããŒã®è³ç£ã¯ãMicrosoftãäœæããããŒã«ã§ãã
Visual Studioã¯ãããããC ++åãã®äžçæé«ã®ãããã¬ãŒã§ãã ããã«ãVisual Studioã¯ãããã³ããšã³ããããã¯ãšã³ããSTLã®å®è£ ãªã©ãããã°ã©ã ã®ãããã°ã«é¢ããŠæãåªããŠããŸãã éå»5幎éã§ãMicrosoftã¯C ++éçºããŒã«ã®éçºã«å€§ããªé²æ©ãéããŸãããããã以åã§ãã£ãŠããVisual Studioã®ãããã¬ãŒã¯åžžã«éåžžã«ã¯ãŒã«ã§ããã ãããã£ãŠãWindows PCã§éçºããŠãããšãã¯ãåžžã«äžçã¯ã©ã¹ã®ãããã¬ãŒãæå ã«çœ®ããŠããŸãã
äžèšãèžãŸããŠããã°ã®ãªãã³ãŒããååŸããããã»ã¹ãèŠãŠã¿ãŸãããã ã²ãŒã ãæ±ã£ãŠããªãããã°ã©ããŒã®èŠ³ç¹ããèŠãæ©äŒã ã²ãŒã éçºè ãçŽé¢ããŠããå¶éãšåæ§ã«ã ãçŸä»£ã®C ++éçºã®ãã¯ãã«ããæ¯æããŠäž»ãªè°è«ãèšãæãããšãåãããŒã«ãããã³ãã¹ãã«éå®ãããŸãã ãã®èãã«åŸã£ãŠããããã¬ãŒã¯æåŸã®é²è¡ç·ã«ãªãã¯ãã§ãã ãããéæããåã«ã次ã®ãªãã·ã§ã³ããããŸãã
æ©äŒNo. 1ïŒã¿ã€ã
å¿ èŠãªã ã匷ãåä»ãã䜿çšããŠãã³ã³ãã€ã«æã«ãã°ã®ã¯ã©ã¹å šäœãæé€ã§ããŸãã 匷ãåä»ãã¯ãçãããªããæè¿ã®C ++ã®é²åãç§ãã¡ã«äžããæ©äŒã§ãã ããšãã°ãC ++ 11以éã次ã®ããã«ãªããŸããã
-
type traits
éèŠãªæ¡åŒµ; - Cã®éºç£ãšæŠãããã®
nullptr
ãscoped enum
ãªã©ã®é©æ°-匱ãåä»ãã - GSLããã³è£å©ããŒã«ã
- C ++ 20ã®æŠå¿µ ã
äžéšã®äººã¯ããã³ãã¬ãŒãã®ã¡ã¿ããã°ã©ãã³ã°ã奜ãŸãªããããããŸããã ä»ã®äººã¯ãã»ãŒæ®éçã«
auto
ã䜿çšããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã奜ãŸãªããããããŸããã ãããã®èšå®ã«é¢ä¿ãªããC ++ã§ãªã¹ããããã¹ã¿ã€ã«ã䜿çšããäž»ãªåæ©ã¯ãããã§æ確ã«ãã¬ãŒã¹ãããŸã-ããã¯ãã³ã³ãã€ã©ãŒãæ¯æŽãããšããé¡æã§ãã
ã²ãŒã ããã°ã©ãã³ã°ã«ã€ããŠè©±ãå Žåãããã§ã®åŒ·ãåä»ãã¯ç 究ã®åºãåéã§ãããå®éã«C ++ã¢ããªã±ãŒã·ã§ã³ã¹ãã«ãåäžãããããšã«èå³ãããç§ãç¥ã£ãŠããã²ãŒã ããã°ã©ããŒã«ãã£ãŠç©æ¥µçã«äœ¿çšãããŠããŸãã ããã§éèŠãªã®ã¯ãã³ã³ãã€ã«æéãžã®åœ±é¿ãšã³ãŒãã®å¯èªæ§ãžã®åœ±é¿ã®2ã€ã§ãã
ççŽã«èšã£ãŠãã³ã³ãã€ã«æéã¯ç°¡åã«ç¡èŠã§ããŸã-ãã ããã²ãŒã ããã¬ã€ãããäœæå¯èœãªã³ãŒããã³ã³ãã€ã«ããããã«ç¢ºç«ãããå éšã€ã³ãã©ã¹ãã©ã¯ãã£ãšç¡éã®èšç®èœåãæã€éåžžã«å€§äŒæ¥ã®ããã°ã©ããŒã§ããå Žåã«éããŸãã ãããã®å€§äŒæ¥ã¯ã³ã³ãã€ã«ã®ã³ã¹ããå¿é ããŠããŸã-ãããã£ãŠã圌ãã¯ã¢ãžã¥ãŒã«ã䜿çšããŸã-ããããååãšããŠãããã¯åã ã®éçºè ã«çã¿ãåŒãèµ·ãããŸããã åæã«ãã»ãšãã©ã®ã²ãŒã ããã°ã©ããŒã¯ããã§ã¯ãããŸããã ã€ã³ãã£ãŒéçºè ã«ã¯ãæ§ç¯ãããã¡ãŒã ããããŸããã AAAã²ãŒã éçºè ã¯Incredibuildã®ãããªãã®ããã䜿çšããŸããã10幎以äžã®ã³ãŒãããŒã¹ã§ç°¡åã«äœæ¥ã§ãããšããäºå®ãèãããšããã«ãããã»ã¹ã«ã¯15ã20åããããŸãã
ããŒããŠã§ã¢ãè¿œå ããçžå¯Ÿçãªã³ã¹ããšããã°ã©ããŒã®æéã®ã³ã¹ãã«ã€ããŠè°è«ããããšãã§ããŸãããããŒããŠã§ã¢ã¯ããå®äŸ¡ã§ãããšããèŠè§£ã«åæããŸãã
- ããŒããŠã§ã¢ã¯å®éã®äžæçãªè²»çšã§ãããçŸåšã®ååæã®äºç®ã«å²ãåœãŠãããŸããããã«å¯ŸããŠãæé/éçš/ãªã©ã®æ圢ã®è²»çšã¯é·æã«ããã£ãŠåé ãããŸãã 人ã ã¯ãã®ãããªåŠ¥åæ¡ãæ¯æãã決å®ã«ããŸã察åŠã§ãããäŒæ¥ã¯çæçãªå©çãæé©åãããããªæ¹æ³ã§ç¹å¥ã«æ§ç¯ãããŸãã
- ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã¯ãµããŒããå¿ èŠã§ããããªãªãŒã¹ãšã³ãžãã¢ã«ãªãããã«ã²ãŒã æ¥çã«è¡ã人ã¯ã»ãšãã©ããŸããã C ++ã䜿çšãããŠããä»ã®åéãšæ¯èŒãããšãã²ãŒã éçºè ã®çµŠäžã¯ããã»ã©é«ããããŸããããŸããã²ãŒã 以å€ã®ãšã³ãžãã¢ã®çµŠäžã¯ããã§ã¯ããã«äœããªã£ãŠããŸãã
ãŸããã³ã³ãã€ã«æéããã®ãããªç¶æ ã«ãªã£ãŠã¯ãªããªããšããäºå®ãæšæž¬ããããšãã§ããŸãã ãããŠåã³ç§ã¯ããªãã«åæããŸãã ããã®äŸ¡æ Œã¯çµ¶ãéãªãèŠæã§ãããããããªãªãŒã¹ãšã³ãžãã¢ã«ãããã®ã§ãããçæ³çã«ã¯ããã«ãã®ãã«ãã«å¿ èŠãªæéã®å€åã远跡ã§ããèªååããŒã«ã§ãã 幞ããªããšã«ãCIã·ã¹ãã ã®åºçŸã«ãããä»æ¥ã§ã¯ãã®ç®æšãã¯ããã«ç°¡åã«éæã§ããŸãã
æ©äŒNo. 2ïŒããŒã«
èŠåãéçåæããµãã¿ã€ã¶ãŒãåçåæããŒã«ããããã¡ã€ã©ãŒãªã©ãå©çšå¯èœãªæ倧éã®ããŒã«ã䜿çšããå¿ èŠããããŸãã
ç§ã®çµéšã§ã¯ãã²ãŒã éçºè ã¯å¯èœãªéããããã®ããŒã«ã䜿çšããŠããŸãããããã§ã¯æ¥çå šäœã«ããã€ãã®åé¡ããããŸãã
- ãããã®ããŒã«ã¯ã Microsoft以å€ã®ãã©ãããã©ãŒã ã§ããé©åã«åäœããåŸåããããåè¿°ã®ããã«ãããã¯å žåçãªã²ãŒã éçºã·ããªãªã§ã¯ãããŸããã
- ãããã®ããŒã«ã®ã»ãšãã©ã¯ããæšæºãC ++ã§ã®äœæ¥ãç®çãšããŠããŸãã ããã«äœ¿çšã§ããã®ã¯
std::vector
ãµããŒãããŠããŸãããä»®æ³ãšã³ãžã³ã®èªå·±èšè¿°ã¯ã©ã¹CStaticVector
ã¯ãµããŒãããŠããŸããã ãã¡ãããããŒã«ãéé£ããããšã¯åœ¹ã«ç«ããªãããããã¯äŸç¶ãšããŠéçºè ãå æããªããã°ãªããªãããŒã«ã®äœ¿çšã«å¯Ÿããéå£ã®1ã€ã§ããã - ãããã®ãã¹ãŠã®ããŒã«ãå®è¡ããCIãã§ãŒã³ãäœæããŠç¶æããã«ã¯ããªãªãŒã¹ãšã³ãžãã¢ã®ååšãå¿ èŠã§ããåè¿°ã®ããã«ãã²ãŒã ã«çŽæ¥é¢ä¿ã®ãªããšã³ãžãã¢ãªã³ã°ãžã§ãã®äººå¡ãéçšããããšã¯ãã²ãŒã æ¥çã®äœç³»çãªåé¡ã§ãã
ã§ã¯ããããã®ããŒã«ã¯æšæºã®C ++ã§éåžžã«ããŸãæ©èœããã®ã«ããªãã²ãŒã éçºè ã¯STLã䜿çšããªãã®ã§ããïŒ
ãã®è³ªåã«å¯Ÿããçãã¯ã©ãããå§ããã°ããã§ããïŒ ããããã次ã®ãšã¯ã¹ã«ãŒã·ã§ã³ããã²ãŒã éçºã®æŽå²ãžïŒ
- 90幎代ååãŸã§ãç§ãã¡ã¯Cã³ã³ãã€ã©ãä¿¡çšããŠããªãã£ããããã¢ã»ã³ãã©ã§ã²ãŒã ãäœæããŸããã
- æåãã90幎代åã°ãŸã§ãCã³ã³ãã€ã©ãä¿¡é Œãå§ããŸããããC ++ã³ã³ãã€ã©ã¯ãŸã ä¿¡é ŒããŠããŸããã§ããã ã³ãŒãã¯Cã§ãC ++ã¹ã¿ã€ã«ã®ã³ã¡ã³ãã䜿çšããŠãããæ§é äœã®typedefãåžžã«èšè¿°ããå¿ èŠã¯ãããŸããã§ããã
- 2000幎é ãã²ãŒã éçºã®äžçã§C ++é©åœãèµ·ãããŸããã ããã¯ã ãã¶ã€ã³ãã¿ãŒã³ãšå€§èŠæš¡ãªéå±€ã®æ代ã§ãã ã åœæãã³ã³ãœãŒã«ã§ã®STLãµããŒãã¯æãŸããŠããªãã£ããããã³ã³ãœãŒã«ãäžçãæ¯é ããŠããŸããã PS2ã§ã¯ãGCC 2.95ãæ°žé ã«è¡ãè©°ã£ãŠããŸãã
- 2010幎é ãããã«2ã€ã®é©åœãå§ãŸããŸããã 倧èŠæš¡ãªéå±€ã䜿çšããããšã®èŠçã¯ãã³ãŒãã«å¯Ÿããã³ã³ããŒãã³ãã¢ãããŒãã®éçºãåºæ¿ããŸããã ãã®å€æŽã¯ãEntity-Component-Systemã¢ãŒããã¯ãã£ã®åœ¢ã§ä»æ¥ãé²åãç¶ããŠããŸãã ãããæã«ããã®ã¯ããã«ãããã»ããµã¢ãŒããã¯ãã£ã掻çšããããšãã2çªç®ã®é©åœã§ããã
ãããã®ãã©ãã€ã ã·ããã®éã«ãã²ãŒã éçºãã©ãããã©ãŒã èªäœã絶ããå€åããçå£ã«å€åããŸããã ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¯ããã©ãããªã¢ãã¬ã¹ç©ºéã«åã£ãŠä»£ãããŸããã ãã©ãããã©ãŒã ã¯ãã«ãããã»ããµã«ãªãã察称çã§ãããããã»ã©ã§ã¯ãããŸããã Intelã¢ãŒããã¯ãã£ã§ã®äœæ¥ã«æ £ããŠããã²ãŒã éçºè ã¯ãMIPSïŒãã¬ã€ã¹ããŒã·ã§ã³ïŒãç°çš®CPUãåããç¹å¥ãªããŒããŠã§ã¢ïŒPS2ïŒãPowerPCïŒXBox 360ïŒãããã«å€§ããªç°çš®ïŒPS3ïŒã«æ £ããªããã°ãªããŸããã§ãã...ããããæ°ãããã©ãããã©ãŒã ã«ã¯ãããã»ããµãã¡ã¢ãªãããã³ãã©ã€ãã®æ°ããããã©ãŒãã³ã¹æ©èœãæèŒãããŠããŸãã æé©ãªããã©ãŒãã³ã¹ãå®çŸãããå Žåã¯ãå€ãã³ãŒããäœåºŠãæžãçŽãå¿ èŠããããŸããã ã€ã³ã¿ãŒãããã®äººæ°ã®åºçŸãšæé·ãããã³ãã©ãããã©ãŒã ææè ãéçºè ã«èª²ããå¶éã«ãã£ãŠãã²ãŒã ãã©ã®çšåºŠåœ±é¿ãåãããã«ã€ããŠãèšåããŸããã
æŽå²çã«ãã²ãŒã ãã©ãããã©ãŒã ã§ã®STLå®è£ ã¯äžååã§ããã STLã³ã³ãããã²ãŒã ã«ããŸãé©ããŠããªãããšã¯ç§å¯ã§ã¯ãããŸããã ã²ãŒã éçºè ãå£ã«æŒã蟌ãã°ããããã圌ã¯ã
std::string
ã¯ãŸã£ããåé¡ãªãã
std::vector
ã¯ããã©ã«ãã§åŠ¥åœãªãªãã·ã§ã³ã§ãããšèªããŸãã ãã ããSTLã«å«ãŸãããã¹ãŠã®ã³ã³ããã«ã¯ãå²ãåœãŠãšåæåã®å¶åŸ¡ã®åé¡ããããŸãã å€ãã®ã²ãŒã ã§ã¯ãããŸããŸãªã¿ã¹ã¯ã®ã¡ã¢ãªå¶éãå¿é ããå¿ èŠããããŸããã²ãŒã ãã¬ã€äžã«ã¡ã¢ãªãåçã«å²ãåœãŠãå¿ èŠãããå¯èœæ§ãæãé«ããªããžã§ã¯ãã«ã¯ã ã¹ã©ããŸãã¯ã¢ãªãŒãã¢ãã±ãŒã¿ããã䜿çšãããŸãã å²ãåœãŠã¯ããã°ã©ã ã®å®è¡äžã«çºçããå¯èœæ§ã®ããæããé«äŸ¡ãªããã®ã®1ã€ã§ããå¯èœæ§ãããããã äžå®æéã®ååŽã¯è¯ãçµæã§ã¯ãããŸããã ã ã²ãŒã éçºè ãšããŠãäºåã«ã¡ã¢ãªèŠä»¶ã管çããå¿ èŠããããŸãã
äžè¬çã«ä»ã®äŸåé¢ä¿ã«ã€ããŠãåæ§ã®è©±ãåŸãããŸãã ã²ãŒã éçºè ã¯ãåããã»ããµãµã€ã¯ã«ã«å¿ èŠãªãã®ãã¡ã¢ãªã®åãã€ããã©ãã§ããã€ãäœã®ããã«ãåå®è¡ã¹ã¬ãããã©ãã§ããã€å¶åŸ¡ãããã®ããç¥ããããšèããŠããŸãã æè¿ãŸã§ãMicrosoftã³ã³ãã€ã©ã¯åæŽæ°ã§ABIãå€æŽããŠããŸããããããã£ãŠãå€ãã®äŸåé¢ä¿ãããå Žåãããããã¹ãŠãåæ§ç¯ããã®ã¯èŠçãªããã»ã¹ã§ããã ã²ãŒã éçºè ã¯éåžžãç°¡åã«çµ±åã§ãããã£ã1ã€ã®ããšãè¡ããã§ããã°Cã¹ã¿ã€ã«APIã䜿çšããŠå°ããªäŸåé¢ä¿ã奜ã¿ãå€ãã®äŒæ¥ã§äœ¿çšãããŠããããããªãã¯ãã¡ã€ã³ãŸãã¯ç¡æã®ã©ã€ã»ã³ã¹ãæã£ãŠããŸãèè ã®è¡šç€ºãå¿ èŠã§ãã SQLiteãšzlibã¯ãã²ãŒã éçºè ã奜ããã®ã®è¯ãäŸã§ãã
ããã«ãC ++ã²ãŒã æ¥çã«ã¯ããããã§çºæãããŠããªããçå矀ã®æ£è ã®è±ããªæŽå²ããããŸãã ããã¯ãå®å šã«æ°ããæ©åšã§ç¬èªã®äœããäœæããä»ã®ãªãã·ã§ã³ãæã£ãŠããªãã£ãåäžã®æ奜家ã§å§ãŸã£ãæ¥çããæåŸ ãããã¯ãã§ãã ãšããããã²ãŒã æ¥çã¯ãããã°ã©ããŒãã¯ã¬ãžããã«ç¹å®ã®é åºã§ç€ºãããŠããªãå¯äžã®æ¥çã§ãã ããŸããŸãªãã®ãæžãã®ã¯æ¥œããã§ãããããã¯ããªãã®ãã£ãªã¢ã«åœ¹ç«ã¡ãŸãïŒ æ¢è£œã®ãã®ãè³Œå ¥ããããããèªåã§äœããæ§ç¯ããæ¹ãã¯ããã«åªããŠããŸãïŒ ãŸããããã©ãŒãã³ã¹ãéåžžã«å¿é ã§ãããããå©çšå¯èœãªãªãœãŒã¹ãç¡é§ã«æµªè²»ããäžè¬çãªãœãªã¥ãŒã·ã§ã³ãæ¡çšãã代ããã«ããããžã§ã¯ãã«ç¹ã«é©ããæ¹æ³ã§ãœãªã¥ãŒã·ã§ã³ãé©å¿ãããããšãã§ããŸãã Boostãžã®æµæã¯ããã®ãããªæèãã²ãŒã éçºã§ã©ã®ããã«çŸãããã瀺ãäž»ãªäŸã§ãã ç§ã¯æ¬¡ã®ãããªãããžã§ã¯ãã«åãçµã¿ãŸããïŒ
- ãŸããç¹å®ã®åé¡ã解決ããããã«ãBoostã®ã©ã€ãã©ãªããããžã§ã¯ãã«æ¥ç¶ããŸãã
- ãã¹ãŠãããŸãæ©èœããŸãã æŽæ°ããå¿ èŠãããå Žåãå€å°ã®èŠçã¯ãããŸãããä»ã®äŸåé¢ä¿ãæŽæ°ããå Žåãšåãã§ãã
- å¥ã®ã²ãŒã ã¯ç§ãã¡ã®ã³ãŒãã䜿çšããããšæã£ãŠããŸãããã€ãŸããã®ãããã¯ã¯Boostã䜿çšããŠãããšããããšã§ã-Boostã®çµéšã¯éåžžã«äžæãè¡ã£ãŠãããšããäºå®ã«ããããããã
- Boostã䜿çšããŠã³ãŒããåé€ããŸãããä»ã§ã¯æ°ããåé¡ã«çŽé¢ããŠããŸããåã«è§£æ±ºããã®ã§ã¯ãªããBoostã®ã©ã€ãã©ãªã解決ããåé¡ã解決ããå¿ èŠããããŸãã
- åºæ¬çã«ãå¿ èŠãªBoostã³ãŒãã®éšåãç¬èªã®åå空éã«ã³ããŒããŸãã
- åŸã§ãå¿ ç¶çã«ãå ã®ã³ãŒããç Žæ£ããªãã£ãå Žåã«æ¢ã«å ã®ã³ãŒãã«å«ãŸããŠããè¿œå æ©èœãå¿ èŠã«ãªããšããäºå®ã«äœåºŠãééããŸãã ããããç§ãã¡ã¯ãã®ã³ãŒãã®ææè ã§ãããããåŒãç¶ããµããŒãããå¿ èŠããããŸãã
åæã«å€ãã®ããšãããããšããŠããããŸãã¯ã³ã³ãã€ã«æéã«åœ±é¿ãäžããå¯èœæ§ã®ãã巚倧ãªãã®ã¯å¥œãã§ã¯ãããŸãã-ããã¯éåžžã«åççã§ãã 人ã ãäœåºŠãééããç¯ãã®ã¯ãä»æ¥æ³å®ãããçã¿ãåãå ¥ããããšã«å察ããŠãããšããããšã§ã-äžæ¹ããã®æ±ºå®ã®ããã«ã圌ãã¯ä»ã®èª°ããç ç²ã«ããŠäœãã®æ¯æŽã§éåžžã«çŸå®çã§ã¯ããã«å€§ããªçã¿ã«çŽé¢ããŸã-ä»åŸ3幎éã§çµéšããªããã°ãªããªãäºç®ã æ®å¿µãªãããSTLãšBoostã®æçãããŸã䜿çšããã²ãŒã ã®åœ¢ã§ã®èšŒæ ã®ååšã¯ã人éã®å¿çã«åœ±é¿ãäžãããã²ãŒã éçºè ã説åŸããããšã¯ã§ããŸããã
ãããã®ãã¹ãŠã®çç±ã«ãããå€ãã®ã²ãŒã äŒç€Ÿã¯ãSTLãè¡ãããšãã«ããŒããç¬èªã®ã©ã€ãã©ãªãäœæããããã«ã²ãŒã åºæã®ãŠãŒã¹ã±ãŒã¹ããµããŒãããŠããŸãã äžéšã®å€§æã²ãŒã äŒç€Ÿã¯ãç¬èªã®æ¬æ Œçã§ã»ãŒå®å šã«APIäºæã®STL眮æã®éçºãå§åããããšããã§ããŸãããããã®åŸããã®ãããžã§ã¯ãããµããŒãããããã«è«å€§ãªã³ã¹ããããããŸããã
std::map
æ¹åããã代æ¿æ¡ãèŠã€ãããã
std::vector
ã§å°ããªãããã¡ãŒã®æé©åãé©çšããã®ãè³¢æã§ãã
algorithms
ãŸãã¯
type traits
ç¬èªã®å®è£ ããµããŒãããéåœã«ããããšã¯ãããŸãåãå ¥ããããŸããããã»ãšãã©å©ç¹ã¯ãããŸããã ç§ã«ãšã£ãŠã¯ãã»ãšãã©ã®éçºè ã«ãšã£ãŠãSTLãåãªãã³ã³ããã§ããããšã¯æ®å¿µã§ãã éå§æã«STLãåŠç¿ãããšããSTLã«é¢ããŠèšãã°ãã»ãšãã©ã®å Žåã
std::vector
æå³ã
std::vector
ããå®éã«ã¯
std::find_if
ã«ã€ããŠèããå¿ èŠããããŸãã
æ©äŒ3ïŒãã¹ã
åºç¯ãªãã¹ããå®æœããTDDããã³/ãŸãã¯BDDãã«ããŒã§ãããã¹ãŠã®ã³ãŒããã«ããŒãããã°ã¯æ°ãããã¹ããäœæããŠå¯ŸåŠããå¿ èŠããããšäž»åŒµãããŠããŸãã
ããã§ã¯ããã¹ãã®ãããã¯ã«ã€ããŠèª¬æããŸãããã
ç§ã®çµéšããå€æãããšãã²ãŒã æ¥çã§ã®èªåãã¹ãã¯å®éã«ã¯äœ¿çšãããŠããŸããã ãªãã§ïŒ
1.æ£ç¢ºæ§ã¯ããã»ã©éèŠã§ã¯ãªããå®éã®ä»æ§ããªããã
ã²ãŒã æ¥çã®è¥ãããã°ã©ããŒãšããŠãç§ã¯äœããçŸå®çã«ã·ãã¥ã¬ãŒãããããåªåããã¹ãã ãšããèããããã«åãé€ããŸããã ã²ãŒã ã¯ç ãšé¡ã§ãããçãéãæ¢ããŸãã ã·ãã¥ã¬ãŒã·ã§ã³ãã©ãã»ã©çŸå®çã§ãããã¯èª°ãæ°ã«ããŸããã äž»ãªããšã¯ãããã楜ããããšã§ãã ãã²ãŒã ãæ£ãããšæããã¯ãã以å€ã®ä»æ§ããªãå Žåã¯ããã¹ãã®å¯Ÿè±¡ãæ¬ èœããŠããŸãã ãã°ã®ãããã§ãã²ãŒã ãã¬ã€ã¯ããã«è¯ããªããŸãã å€ãã®å Žåããã°ããªãªãŒã¹ã«çµã¿èŸŒãŸãããŠãŒã¶ãŒã®æã«ããåã¡ãŸãïŒ Civilizationã®åãGandhiãæãåºããŠãã ãã ïŒã ã²ãŒã ã¯ãC ++ã䜿çšããä»ã®åéãšã¯ç°ãªããŸãã ããã§ãæ£ç¢ºæ§ã®æ¬ åŠã¯ã誰ããæçµçã«è²¯èã倱ããšããäºå®ã«ã€ãªãããŸããã
2.é£ãããã
ãã¡ãããã§ããéãèªååããããã¹ããäœæããå¿ èŠããããŸãã ããã¯ãæçµçµæãæ確ã«èšèŒãããŠããäžéšã®ãµãã·ã¹ãã ã§å®è¡ã§ããŸãã ãã¡ãããã²ãŒã æ¥çã®ãŠããããã¹ãã¯ååšããŸãããååãšããŠãäœã¬ãã«ã®ã³ãŒãïŒåè¿°ã®STLã¢ããã°ãæååå€ææé ãç©çãšã³ãžã³ã¡ãœãããªã©ïŒã«éå®ãããŸãã ã³ãŒãã®å®è¡å¯èœã»ã¯ã·ã§ã³ã«äºæž¬å¯èœãªçµæãããã±ãŒã¹ã¯ãéåžžããŠããããã¹ãã§ãã¹ããããŸãããããã§ã¯TDDã¯äœ¿çšãããŸãã-ã²ãŒã ããã°ã©ããŒã¯èªåã®äººçãåçŽåããããšã奜ã¿ãéãåæ§ã§ãã ããããã²ãŒã ãã¬ã€ã³ãŒããã©ã®ããã«ãã¹ãããŸããïŒãã€ã³ã1ãåç §ïŒïŒ åäœãã¹ããè¶ ãããšããã«ãã²ãŒã ã®ãã¹ããéåžžã«é£ãããšããå¥ã®çç±ã«ããã«åºããããŸãã
3.ã³ã³ãã³ããé¢ä¿ããŠãããã
èªæã§ã¯ãªãã·ã¹ãã ã®ãã¹ãã«ã¯ããããããããå®è£ ãããã³ã³ãã³ãã®æäŸãå«ãŸããŸãã ã»ãšãã©ã®ãšã³ãžãã¢ã¯ããã®ã³ã³ãã³ããèªåã§äœæããã®ãããŸãåŸæã§ã¯ãªããããææ矩ãªãã¹ããè¡ãã«ã¯ãã³ã³ãã³ããäœæããããã®é©åãªã¹ãã«ãæã€äººãåŒãä»ããå¿ èŠããããŸãã ãã®åŸãåºåã§åŸããããã®ã枬å®ããåé¡ã«ééããŸã-çµå±ãããã¯ãã¯ãç·ãæ°åã§ã¯ãªããç»é¢äžã®ç»åãæéãšãšãã«å€åããé³ã§ãã
4.ç·Žç¿ããªããã
åäœãã¹ãã¯ãå¯èœãªå ¥åãšåºåãç¥ã£ãŠããé¢æ°ã§ãã ãã ããã²ãŒã ãã¬ã€ã¯äºæž¬äžå¯èœã§åçã«é²åããåäœã§ããããã®ãããªçŸè±¡ãã©ã®ããã«é©åã«ãã¹ãã§ãããã¯ããããŸããã ç§ããã¹ãã§ãããã®-ãã¡ããããããŒãžã£ãŒããããã«ååãªæéãå²ãèš±å¯ãåŸãªãéã-ããã¯ãäŸãã°ãããã©ãŒãã³ã¹ããŸãã¯ãããã¡ã€ãã³ã°ã®ãããªé«ã¬ãã«ã®æ©èœã§ãããåæããããšãã§ããŸãã ãã®ãããªã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæ¥ã¯ãäžéšã®ã²ãŒã ããã°ã©ããŒã«ãšã£ãŠãšããµã€ãã£ã³ã°ãããããŸããããã»ãšãã©ã®å Žåãããã¯åã«é¢çœããªãã ãã§ãªãããŠã©ã¬ããã®ææè ããã®æ¿èªãšãµããŒããå¿ èŠã§ãã ã²ãŒã ããã°ã©ããŒãšããŠãé«ã¬ãã«ã®ãã¹ãã®äœæãç·Žç¿ããæ©äŒã¯ãããŸããã
5. [äŒç€Ÿ]ã¯èªåãã¹ãã®å¿ èŠæ§ãèªèããŠããªããã
ç§ãã¡ã®äž»ãªç®æšã¯ãã²ãŒã ããªãªãŒã¹ããããšã§ãã ç§ãã¡ã¯ããããã®ããŒã±ãã£ã³ã°ã³ã¹ããæ倧åããã販売ã®æåã®æã«åçãæ倧éã«æŽ»çšãããããã§åé²ããæ¥çã®æ代ã«çããŠããŸãã ã³ã³ãœãŒã«ã®ã©ã€ããµã€ã¯ã«ã¯ãã©ã®ãããªå Žåã§ããã³ãŒãã¯ããã»ã©é·ãã¯ç¶ããªãããšãæããŠãããŸããã ãªã³ã©ã€ã³ã²ãŒã ã«åãçµãã§ããå Žåããããã¡ã€ãã³ã°ããµãŒããŒã®è² è·ããã¹ãããããã®è¿œå ã®æéãåŸãããå¯èœæ§ãé«ããªããŸãã ã²ãŒã ã®ãªãªãŒã¹ã«ã¯ããã©ãŒãã³ã¹ãæŽããå¿ èŠããããããå°ãªããšãããã©ãŒãã³ã¹ãã¹ããå®è¡ããå¿ èŠããããŸããããã®ããã»ã¹ãèªååããªãã§ãã ããã ã²ãŒã æ¥çã®ç®¡çè ã«ãšã£ãŠãèªåãã¹ãã¯æéãšãéã®ç¡é§ã«éããŸããã ãã®å®è£ ã«ã¯ãäœæ¥ãå®è¡ããçµéšè±å¯ãªãšã³ãžãã¢ãéãå¿ èŠãããããã®çµæã¯ã»ãšãã©ç®ã«èŠããŸããã åãæéãæ°æ©èœã®éçºã«è²»ããããšãã§ããŸãã çæçã«ã¯ãQAã¹ã¿ããã䜿çšããŠã²ãŒã ããã¹ãããæ¹ãã¯ããã«æçã§ããã次ã®ãã€ã³ãã«é²ã¿ãŸãã
6.äžè¬çã«ããã¹ãã¯ã²ãŒã ã®äºæµã¢ã¯ãã£ããã£ãšããŠåé¡ããããã
質ã®é«ãQAãããã§ãã·ã§ãã«ã倧奜ãã§ãã ç§ã«ãšã£ãŠã圌ãã¯éã§ãã®éãã®äŸ¡å€ããããŸãã 圌ãã¯ããªãã®å¿ã決ããŠè¶ããªãæ¹æ³ã§ãããå£ãããšã«ãã£ãŠããªãã®ã²ãŒã ãããè¯ãããæ¹æ³ãç¥ã£ãŠããŸãã 圌ãã¯ãããªããç解ããŠããªãããããŠã»ãšãã©ç解ããŠããªããšããç¹ã§ãããªãã®ã²ãŒã ãã¬ã€ã®å°é家ã§ãã 圌ãã¯ããªãããã¹ãŠãæ£ããããã®ãå©ããè¶ èœåã³ã³ãã€ã©ã®ããŒã ãããåªããŠããŸãã ç§ã®ä»äºã®é·å¹Žã«ããã£ãŠãããã€ãã®çŽ æŽãããQAã¹ãã·ã£ãªã¹ããšä»äºãããæ©äŒããã£ãããšãå¬ããæããŸãã
ç§ã¯ã»ãšãã©åžžã«åœŒããããŒã ã«çããããã«æŠããªããã°ãªããŸããã§ããã
倧èŠæš¡ãªAAAäŒæ¥ã§ã¯ãQAçµç¹ã¯éåžžãéçºããŒã ãšã¯å®å šã«ç¬ç«ããéšéã§ãããç¬èªã®ç®¡çããã³çµç¹æ§é ãåããŠããŸããããã¯ããã¹ãäžã«å®¢èŠ³çã«ãªãããã«è¡ããããšèšãããŠããŸããå®éã«ã¯ããã¹ãŠããšãŠãçŸãããšããããã§ã¯ãããŸããã
ãããã¯ã巚倧ãªã¡ã«ããºã ã§æ¯è»ã®ããã«æ±ãããŸããããã¯ãå€ãã®å ŽåãèŠåãªãã«ãããžã§ã¯ãéã§ã¹ããŒãããäžè¬çã«èª°ããäœæ¥ãåŠçã§ãããã®ããã«æ±ãããŸãããããžã§ã¯ããç· ãåãæ¥ãããå€ããããšãããšã³ãžãã¢ã¯èªåã®èã§ã¯ã©ã³ããæããããšãã§ããŸãããå€å€ãšé±æ«ã«ä»äºãããªããã°ãªããªããããQAã¯ã¯ããã«åŒ·ããªããããã«ãçŸåšã®æ鬱ãªãã¥ãŒã¹ããããããšããäºå®ãåŸãŸããããžã§ã¯ãã®å質ã¹ããŒã¿ã¹ã
圌ãã¯çå£ã«äœè³éã§ãã察象åéã§é·å¹Žã®å°éç¥èãæã€æãçµéšè±å¯ãªãã¹ã¿ãŒã¯ãäžéã¬ãã«ã®éçºè ã«æ¯æããã®ã®ååæªæºãåãåããŸãã远跡ãšã¢ã©ãŒãã䜿çšããããã©ãŒãã³ã¹ãã¹ãçšã®ãã€ãã©ã€ã³ãäœæããAPIã®ãã¹ããšè² è·ãã¹ãçšã®ãã¬ãŒã ã¯ãŒã¯ãäœæãããæ¬ç©ã®ãšã³ãžãã¢ãã®æéã«ãµãããããªãä»ã®å€ãã®ã¿ã¹ã¯ãå®è¡ããæãè³¢ãQAãšã³ãžãã¢ãšååããå¿ èŠããããŸããããããã®æãåªç§ãªäººã ã¯ãä»ã®å€§èŠæš¡ãªãã¯ãããžãŒäŒæ¥ã§åããŠããã°ãããã«å€ããç²åŸã§ãããšç¢ºä¿¡ããŠããŸãã
圌ãã¯ä¿¡é ŒãããŠããŸããããã¹ã¿ãŒãä»ã®éçºè ããåé¢ãããŠããããšã¯çãããªãã圌ãã®ãããžã«ããã圌ãã¯èªåãã¡ãåããŠãã建ç©ã®ãã®éã«ã®ã¿ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã
圌ãã¯åŸããããåŸãŸããããã¹ã¿ãŒã¯ããã°ãã°ä»ã®ãšã³ãžãã¢ãéªéããªãããã«èšãããŸãããã°ãçŽæ¥å ±åããå¿ èŠãããå Žåã¯ããHãMr.ãããMr. Y.ããªã©ããšã³ãžãã¢ã«äžå¯§ã«é£çµ¡ããããæ±ããããŸããæã ãQAéšéã®ã€ã©ã€ã©ããäžåžããåŒã°ããŸãã-ãã®ãããªå Žåãå ±å調æ»ã®ããã«ãã°ãæ€åºãã人ã ã«é£çµ¡ããŸããã
ããã¯ãã¹ãŠæããã話ã®ããã«èããã誰ãããã®ãããªããšã«å¯ŸåŠããå¿ èŠã¯ãããŸããããæ®å¿µãªããããã¯éåžžã«é »ç¹ã«èµ·ãããŸãããšã³ãžãã¢ãé »ç¹ã«èããããã«ãªããŸã-ããããäžå®ã®ã¹ãã¬ã¹ã®äžã§ãããã¯èšãèš³ã«ã¯ãªããŸãã-QAã®ä»äºã¯èªââåã®ãã°ãæ¢ãããšã§ãããããã«æªãããšã«QAããã°ã®ããã«ããããšã§ãã
ç§ãååããªããã°ãªããªãã£ãæé«ã®ããŒã ã§ã¯ãç§ãã¡ã®ããŒã ã¯ç§ãã¡ãšäžç·ã«åãç¬èªã®QAãšã³ãžãã¢ãæã£ãŠãããšäž»åŒµããŸããããããã圌ãã¯å®¢èŠ³æ§ãããè¯ãçµæãéæããããšãã欲æ±ã倱ããŸããã§ããã圌ãã¯ãèªååããããã¹ããæžãéã«ããã°ã©ããŒããã®å©ããåãã§åããŸããã確ãã«çãã®äœå°ã¯ãããŸããããã²ãŒã æ¥çãèªååãããé »ç¹ã«è¡ãããšãæçã§ããããšã§ãã
ãããã°ããã©ãŒãã³ã¹
åè¿°ããããã°ã®ç¿æ £ããŸã æé·ããŠããAPIãšããŒã«ã®ãã©ãããã©ãŒã ãããã³èªååããããã¹ãã®è€éãïŒæåã®æ¬ åŠãšçµã¿åãããŠïŒã«åºã¥ããŠãã²ãŒã éçºè ããããã°æ©èœã䞻匵ããçç±ãæããã«ãªããŸãã
ãããåæã«ããããã°èªäœã®åé¡ããã²ãŒã éçºè ãçŸåšã®C ++éçºãã¯ãã«ã«ã©ã察åŠããããšããåé¡ãæ®ã£ãŠããŸãã
ãããã°ã®äž»ãªåé¡ã¯ãã¹ã±ãŒã«ããªãããšã§ãããã®æçš¿ãèªãã§ããéçºè ã®ã²ãŒã éçºè ã®äžã«ã¯ãç§ã説æããçŸè±¡ã圌ãã®å®è·µã§èŠ³å¯ãããã®ãšäžèŽããªããšæ±ºãã人ãããŸããããã¯é ããæ©ãã圌ãèªèº«ããããã°ã®ã¹ã±ãŒã©ããªãã£ã®åé¡ã«å¯ŸåŠããªããã°ãªããªãã£ããšããäºå®ã«ããå¯èœæ§ãããã圌ãã¯ãããåé¿ããæ¹æ³ãèŠã€ããŸããã
èšãæããã°ããã°ããã£ããããããã«ãååãªå€§ããã®ä»£è¡šçãªããŒã¿ã»ããã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããå¿ èŠãããããšãå€ããããçç£çãªãããã°ãå¿ èŠã§ããããããå®éã«ã¯ããã®ãã€ã³ãã«éãããšããããã¬ãŒã¯éåžžãããŸãã«ãç¡ç€ŒãªããŒã«ã«ãªããçç£çã§ãããã©ããã«é¢ä¿ãããŸããããã¡ãããããŒã¿ã«ãã¬ãŒã¯ãã€ã³ããèšå®ããïŒããŒã¿ãã¬ãŒã¯ãã€ã³ãïŒäžèŠæš¡ã®åé¡ããã£ããããã®ã«åœ¹ç«ã€ãããããŸããããå®éã®ãã°ã«ééããå Žåã¯ã©ãã§ããããïŒãããã¯ãŒã¯è² è·ã®äžã§ããŸãã¯ã¡ã¢ãªäžè¶³ã®å ŽåããŸãã¯ãã«ãã¹ã¬ããæ©èœã®å¶éã§åäœããå ŽåããŸãã¯ä»ã®æ°çŸäžäººã®ãã¬ã€ã€ãŒãèæ¯ã«ããå°ããªæªç¢ºèªã®ãµãã»ããã§ã®ã¿çºçããããŸãã¯ã²ãŒã ã®ãã£ã¹ã¯ããŒãžã§ã³ã§ã®ã¿çºçããããŸãã¯ãã€ãèªã®ã¢ã»ã³ããªã§ããŸãã¯å®å®æ§ãã¹ãã«3æéãè²»ãããåŸïŒæµžæŒ¬ãã¹ãïŒïŒ
2è¡ç®ã1ã€ã®ãããã¬ãŒã®ã¿ã«äŸåã§ããŸãããã®å Žåãç§ãã¡ã¯ãã€ããã£ãããšãããŸããåé¡ãç¹å®ããããé »ç¹ã«çºçãããããšããŠããŸãããã®ã³ã°ãè¿œå ããããã°ã©ã ããµããã«ãããŸããã¿ã€ããŒãšãããŒèšå®ã調æŽããŸãããã«ãã§ãã€ããªæ€çŽ¢ã䜿çšããŸããã³ã¢ãã³ããšã¯ã©ãã·ã¥ãã°ã調æ»ããŸããã³ã³ãã³ããæå°éã«ããªãã³ã°ããããšã§åé¡ãåçŸããããšããŠããŸããåé¡ã®åå ãèããŠè°è«ããŸãã
å€ãã®å Žåãã¯ã©ãã·ã¥ã®æ¬åœã®åå ã«å°éãããŸã§ãä»ã®ããã€ãã®åé¡ãä¿®æ£ããæéããããŸããã€ãŸããåé¡ã解決ããæçµçã«ãããã¬ãŒã䜿çšããããšã¯ããã®ããã»ã¹ã®ã»ãã®äžéšã«ãããŸããããã®ããããããã°é床ã¯çŽ æŽãããè¿œå æ©èœã§ããããããäžè¶³ããŠããŠããšã³ãžãã¢ã§ããç¶ããããšã¯ã§ããŸãããã³ã¢ãã³ãã解æããæé©åãããã¢ã»ã³ãã©ãŒãèªã¿åãæ©èœãªã©ãä»ã®ã¹ãã«ãå¿ èŠã§ãã
ãã¢ãã³C ++ãã䜿çšããå Žåãéåžžãšåãæ¹æ³ã§ãããã¬ãŒã䜿çšããŸããç§ã¯æ°ããæžãããã³ãŒããèŠãŠãããŸããèå³ã®ããããŒã¿ã«ãã¬ãŒã¯ãã€ã³ãã眮ããŸãããããã¬ãŒã䜿çšããŠããªãã¿ã®ãªãã³ãŒãã調ã¹ãŸãã ãã¢ãã³C ++ãã®åºçŸã«ããããããã®å€æŽã¯ãããŸããããããŠãã¯ããSTLã_ glyã_èå¥åã䜿çšããŠããŠããSTLã®éæ³ãäœããŸããã STLããå éšã§ãè¡ãããšã確èªããããã¹ããããªãŒããŒããããããšäŸ¿å©ãªå ŽåããããŸãããŸãã¯ãä»ã§ããããã«ããããã¬ã䜿çšããŠã©ã€ãã©ãªã³ãŒããé衚瀺ã«ããŸãã
ããã©ãŒãã³ã¹ã®åé¡ã®ãããã°ã«åºããããšããã¢ãã³C ++ããé ããªãããšã¯éåžžãããŸãããå®éããã®æç¹ã§ç§ã¯ãã§ã«ããéãã§ããã¿ã€ããããŒã«ãããã³ãã¹ããšã¯ç°ãªãããããã¬ãŒã䜿çšããŠãã¹ã±ãŒãªã³ã°ããŸããã
ç§èªèº«ã¯ãC ++ã³ãŒãããŸããŸãæé©åãå¿ èŠãšãããšããåé¡ãå¿é ããŠãããããã«é¢ããã³ã³ãã€ã©éçºè ã®æèŠã«èå³ããããŸãããå®éã«ã¯ãåäžã®çãã¯ãããŸãããç§ãã¡ã¯ãã§ã«é£ç¶ããŠãããã³ãŒãããããã°ããèœåãæãªãããšãªãããã®æ¹åã«ããã«é²ãæ©äŒããããŸããçŸåšãç§ãã¡ã®ã³ã³ãã€ã©ã¯ãäžæãªããžã§ã¯ãã®ã³ããŒåé€ãå®è¡ããŸããããã®æé©åã®å®è¡ãäŸé ŒããªããŠããããã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãããã°æ©èœã«ã¯åœ±é¿ããŸããããããã°ãã«ãã«ã¯ããããã°äžã«æ°ä»ããªããããªæ¹æ³ã§è¡ãããšãã§ããNRVOãŸãã¯åããŒã¹ã®æé©åãå«ãŸããããã«ãªã£ããšäžæºãèšãããšã¯ãããŸãããç§ã¯C ++ããã®æ¹åã«åããŠããã®ã§ã¯ãªãããšçã£ãŠããŸãã
ãšãããŒã°ïŒçŸä»£ã®C ++ã®æ¹æ³
ã²ãŒã éçºã®åéã§ããã°ã©ããŒãšããŠåããŠããŠãC ++ãé²ãã§ããå Žæãæ°ã«å ¥ããªãå Žåã¯ãåºæ¬çã«ããããªãã¢ã¯ã·ã§ã³ã®ããã®2ã€ã®ãªãã·ã§ã³ããããŸãã
1.äœãããªã
ãŸã C ++ã³ãŒããäœæããããšããŠãããšä»®å®ãããšã以åãšåãããã«èšèªã䜿ãç¶ããããšãã§ããŸãããããè¡ããªãå Žåã¯ãæ°ããæ©èœã䜿çšããå¿ èŠã¯ãããŸãããçŸåšäœ¿çšããŠãããã®ã®ã»ãŒãã¹ãŠããµããŒãããç¶ããŸããããããããšã§ãä»åŸæ°å¹Žéã¯ã³ã³ãã€ã©ãæ¹åããå©ç¹ã享åãç¶ããã§ãããã
ããã¯ãèªåèªèº«ã§ããŸãã¯å¿ãåãããã人ã ã®ããŒã ã§åã人ã ã«ãšã£ãŠãå®å šã«é©åãªè¡åæŠç¥ã§ãã C ++ 98ã¯ãããã€ãã®æ°ããæ©èœãšãšãã«ãã²ãŒã ãäœæããã®ã«é©ããŠããŸãã
ãã ãã倧äŒæ¥ã§åããŠããå Žåã¯ãé ããæ©ãããèšèªãå€æŽããå¿ èŠããããŸããããŒã ãå¢ãããæ°ãã人ãéãå¿ èŠãããããã§ããåæ§ã«ãC ++éçºè ãéããšããããã¯ãææ°ã®ãC ++ã§éçºè ãéãããšãæå³ããŸããäžä»£äº€ä»£ãçºçããŸã-ã¢ã»ã³ãã©ãŒãCããã³C ++ 98ã§æ¢ã«çºçããŠããããã«ãã³ãŒãããŒã¹ã§èš±å¯ããããã®ãšèš±å¯ãããªããã®ã«å¶éãèšå®ãããšãããã»ã¹ã管çã§ããŸããããã®ãœãªã¥ãŒã·ã§ã³ã§ã¯é·æçã«ã¯ç¯çŽã§ããŸããããããŠããã®å Žåãããªãã¯äœããã¹ãã§ããïŒ
2.åå ãã
1幎ã«1åã ãGDCã«è¡ãã®ã§ã¯ãªããCppConã«ã¢ã¯ã»ã¹ããŠãäŒç€Ÿããã±ããã«è²»ããããéããããå€ãã®å©çãåŸãããšãã§ããŸããæšæºã®è°è«ã«åå ããŸããã°ã«ãŒãã«åå ããŠãã¥ãŒã¹ã¬ã¿ãŒã賌èªããŸãããã©ããæšæºãèªã¿ãèè ã«ãã£ãŒãããã¯ãæäŸããŸããå§å¡äŒã®äŒè°ã«ãåºåžã§ããå Žåã¯åé¡ãããŸããããããã§ãªããŠããä»ã®äººã«èªåã®æèŠãäŒããããã«å€ãã®ããšãã§ããŸãã
C ++å§å¡äŒã®ã¡ã³ããŒã¯èª°ã§ãåå ã§ããŸãã SG14ãSG7ãSG15-ãŸãã¯ããªãã®é¢å¿åéã«é¢é£ããä»ã®ã¯ãŒãã³ã°ã°ã«ãŒãã®äœæ¥ã«åå ããã人ã«å¿ èŠãªãã¹ãŠã®æ å ±-isocpp.orgã§èŠã€ããããšãã§ããŸããå§å¡äŒã«ã¯ç§å¯ã®èšç»ã¯ãããŸãã-å®éã200人以äžã®ããã°ã©ããŒãå ±éã®è°é¡ã«åæã§ãããšæ¬åœã«æããŸããïŒããã§ã¯ãå§å¡äŒã®ããã¹ãã§ãããããã°ãã°åœŒãã®ã¢ã€ãã¢ããåããããšã«å€±æããŸãã
æèŠãèãããå Žåã¯ãTwitterãRedditã§ã¯ãªããæèŠãèãããšãã§ããå Žæã§è©±ãå§ããå¿ èŠããããŸãããã®ã¢ããã€ã¹ãåããŠãã ãã-ç§ãã¡ã®è°è«ã楜ãã¿ã«ããŠããŸãã