ãã¯ã³ã´C++åå¼·ä¼ #1ã«åå ãã¦ãã¾ãã
æ¸ãã®ãããªãé ããªã£ã¦ãã¾ãã¾ããâ¦
6/28ã«ãã¯ã³ã´ã§C++ã®åå¼·ä¼ããããåå ãã¦ãã¾ããã ã¡ã¿ããã°ã©ãã³ã°ã«é¢ããçºè¡¨ãå¤ããã ãã¶ããããªå 容ã ã£ãã¨æãã¾ãã
constexpré¢æ°ã¯ã³ã³ãã¤ã«æå¦çãããã¯ãããå®è¡æãéãã§è¦ãããCPUã®å¬å£°ãèããã¦ãããã ãââãC++ãããã©ã¤ãã©ãªè¨è¨ãã®æéã¨ãã¦ã®constexprââ
çºè¡¨è
@bolero_MURAKAMIãã
è³æ http://www.slideshare.net/GenyaMurakami/onstexprcpu
å®å®ãã¦è³æã®ãã¼ã¸æ°ããããä¸ï¼å¥³åããã§ããåºæ¬çãªç¥èããå§ã¾ããä»åã¯è¨è¨ã«é¢ãã¦ã®è©±ãä¸å¿ã§ãããé¢æ°ãconstexpråããã¨ãåå¶ç´ã使ã£ãããå¯ä½ç¨ãç¦ãããã¨ãèªç¶ã¨è¯ãè¨è¨ã«ãªãã¨ããã話ãããã¾ããããã¨æ¨æºã©ã¤ãã©ãªã®constexpr対å¿ãé ãã¦ããã¨ãã話ãããã¾ãããå人çã«ã¯å¯ä½ç¨ããªãé¢æ°ã¯å ¨é¨C++14ã®constexpråãã¦ãã¾ã£ã¦ããããããªããã¨æã£ã¦ã¾ãã
The Define and Expansion of CPP Macro
çºè¡¨è
@decimalbloatãã
è³æ http://www.slideshare.net/digitalghost/define-andexpansionofcppmacro
ãã®æåãªD&Eã§ã(å)ãCããªããã»ããµã¯æå³è«ãªã©ãç¡è¦ããéè®ãªæ´å以å¤ã®ä½ç©ã§ããªãã§ãããããã§ããåºæ¥ãªãäºããããªããããããªããããã¨ãã話ããå§ã¾ããé¢æ°ãã¯ãã®åºæ¬çãªæä½ã§ããé£çµã»åå±éãè©ä¾¡ã®å¶å¾¡ã®èª¬æãããã¾ãããå人çã«ã¯#includeæ¿«ç¨ã¹ã¿ã¤ã«ã®è©±ãã¨ã¦ãèãããã£ã(é¢æ°ãã¯ãã¹ã¿ã¤ã«ã¯éå»ã®çºè¡¨ãªã©ã§ã¡ããã¡ãã説æãã£ã)ã®ã§ã次çºè¡¨ããæ©ä¼ãããã¾ãããã#includeä¹±ç¨ã¹ã¿ã¤ã«ã®è©±ãèãããã§ããã¨ããã§C++ Advent Calender 2013ã®è¨äºã¾ã ã§ãã
C++ã®æ´å²
çºè¡¨è
@EzoeRyouãã
è³æ http://ezoeryou.github.io/cpp-history/
Stroustrupæ°ãC++ãä½ããã¨ã«ãªã£ãçµç·¯ãæ®åãããããã®æ¦ç¥ãStepanovæ°ãSTLãä½ã£ã話ãTMPã®èªçãè¦æ ¼ã®å¿ è¦æ§ãé²åãªã©ã®è©±ãååèãã¾ãããå¾åã¯æ¥æ¬ã«ãããC++ã«ã¤ãã¦ã®è©±ã§ãããEC++ã®é»æ´å²ããC++WG JPã®è©±ã§ãããæ±æ·»ããã«ããå·ä¸ä¼é·ã®ç©çä¼¼ã¯å¿ è¦
templateãä¾ååã£ã½ã使ã£ã¦ã¿ã
çºè¡¨è
@minamiyama1994ãã
è³æ http://www.slideshare.net/masakazuminamiyama/dwangocpp-1-template
boostãLokiã«ãæ¼ç®ãã§ããboost::mpl::int_<N>
ãLoki::Int2Type<N>
ã¿ãããªå¤ã¨åã®ãããã³ã°æ©æ§ã¯ããã¾ãããããã¨ã¯éããã§ããããâ¦ï¼C++ã ã¨tagã使ã£ãstrong typedefã®ã©ã¤ãã©ãªå®è£
ãè¨èªæ©è½ã«strong typedef(opaque typedefs)ã¨ãã¦ãææ¡ãåºã¦ãã¾ãããããã¯æ°å¤ã®ç¯å²ãå¶éããæ´æ°åãæµ®åå°æ°ç¹åãªã©ã®ã©ããã¼ã§ããåã使ã£ã¦å®å
¨ãªããã°ã©ãã³ã°ãã¨ããã®ã¯æ¿ããåæã§ããäºéã¯ä¸ç°æ¬åºãªã¹ã¹ã¡ã§ã
constexprã§ä½¿ããã¤ãã£ãªã
çºè¡¨è
@fimbul11ãã
è³æ http://www.slideshare.net/fimbul/constexpr-idioms
æ¯åããæ°ã«ãªã£ã¦ä¸èº«ã«éä¸ã§ããªè¨ç®éãå帰深度ãæãããã¨ã¯å¤§åã§ããçºè¡¨ã§ã¯ã¤ã³ããã¯ã¹ã¢ã¯ã»ã¹å¯è½ãªãã¼ã¿æ§é ã¯index tuple idiomã使ããã¨ã§è¨ç®éã»å帰深度ã対æ°ã«æãããã¨ãã§ããããã§ããä»ã«ç´¹ä»ãããã¤ãã£ãªã ã¯ãã©ã¡ã¼ã¿ããã¯å±éãåå²çµ±æ²»ãåMAPãªã©ãããã¾ãããå人çã«index tupleã¨ç¶æ¿ãç¨ããããåã¸ã®å®æ°æéã¢ã¯ã»ã¹ã¯ã¨ã¦ãé¢ç½ãã£ãã§ãã
Cocos2dxã®é
çºè¡¨è
@ponkotuyãã
è³æ https://dl.dropboxusercontent.com/u/629338/pdf/Cocos2dx.pdf
ãã®çºè¡¨ã§Cocos2dxã¨è¨ããã®ã®åå¨ãåãã¦ç¥ãã¾ããã CCObjectåã¨ãã俺ã å ¨ã¦ã®åã®åºåºã¯ã©ã¹ã¨ãããC++ãä½ã¨ãé¿ãããã¨ãã¦ããè¦å´ãå ¨ã¦ã¶ã¡å£ãè¨è¨ããã¦ã¾ããæ¯åcastããªããã°ãããªãã§ãããåæ å ±æ¶ãã¾ãããFOREACHã¯ãã¯ãã§ããé ·ãã§ããSTLã使ãã¾ãã(iteratorç¡ãã§ãã)ãããæå³ãã®æ¥ã®çºè¡¨ã§ä¸çªéã ã£ãããããã¾ããã
C++åå¿è æ¸ãC++11ã§parserãæ¸ãã¦ã¿ã話
çºè¡¨è
@karupaneruraãã
è³æ http://www.slideshare.net/karupanerura/dwangocpp1lt
lispã®parserãC++ã§æ¸ãã¨ãã«ä¾¿å©ã ã¨æã£ãæ©è½ã®è©±ã§ããautoãã¹ãã¼ããã¤ã³ã¿ãç¯å²foræããµã¤ã³ã¼ã¨ã®ãã¨ãconstexprãµã¤ã³ã¼ã¨ãããããã«ãªãããã§ã(åå®)
valgrindã¯å®è¡æã¡ã¢ãªãã§ãã«ã¼ãããã¯ãããã³ã³ãã¤ã«æãã§ãã¯ã¯çµå±é ¼ãã«ãªããªããã¡ã¢ãªã®æ²é³´ãèããã¦ãããã
çºè¡¨è
@tikal
è³æ http://www.slideshare.net/ledyba/cpp-36404945
å®è¡æããã¯éããããªããå®è¡æ(ã¡ã¢ãªãªã©ã®)ã¨ã©ã¼ããã¯éããããªããã¨ããã¨ããããå§ã¾ãããã®ãããã°ãã©ãsããã¨ããã話ã§ããçºè¡¨é ã絶å¦ã§ãã¡ã¿ããã°ã©ãã³ã°ãCocos2dxã®è©±ãããå¾ã«ããªã§ãã®è©±é¡ã§ãããå®è¡æã®ã¡ã¢ãªã¨ã©ã¼ããã§ãã¯ããã®ã«ä¾¿å©ãªãã¼ã«ã¨ãã¦valgrindãããã¨ããç´¹ä»ã§ãããå®æçã«åãã¦ã¡ã¢ãªãªã¼ã¯ãç¸éçºè¦ãã¦æ½°ãã¦ããã¾ããã(ãã®ãããé ãã§ã)ãã¾ãã誤æ¤åºããããããç¡è¦ãã¡ã¤ã«ã®éããããã¨ãã話ãèãã¾ããã