|
|
|
 |
ÆÇ¸Å°¡ |
20,000¿ø ¡æ 14,600¿ø 27% |
|
 |
¸¶Àϸ®Áö |
1% 150¿ø |
|
 |
¹ßÇàÀÏ |
2005-06-25
|
 |
ISBN |
8956742677 | 9788956742670
|
 |
±âŸÁ¤º¸ |
¹ø¿ª¼ | 406ÂÊ
|
|
 |
¿¹»óÃâ°íÀÏ
|
1ÀÏ (±Ù¹«ÀϱâÁØ) |
 |
¹è¼Ûºñ |
2,000¿ø (20,000¿øÀÌ»ó ¹«·á¹è¼Û)
|
| |
|
|
|
|
|
 |
| ÇÁ·Î±×·¡¹Ö¾ð¾î
|
|
|
| Á¾ÇÕÁö¼ö 19p 92 À§ |
|
| ¿ù°£Áö¼ö 17p 19 À§ |
|
| ÁÖ°£Áö¼ö 26p 10 À§ |
|
|
| |
|
¡Ø ³×À̹ö üũ¾Æ¿ôÀ¸·Î ±¸¸Å½Ã ºñȸ¿øÀ¸·Î ±¸¸Å°¡
µÊÀ¸·Î °ÄÄ ¸¶Àϸ®Áö´Â Àû¸³ µÇÁö ¾Ê½À´Ï´Ù. |
|
|
|
| |
ÇÁ·Î±×·¡¹Ö¾ð¾î ºÐ¾ß º£½ºÆ®(¿ù) |
|
| |
|
| |
ÇÁ·Î±×·¡¹Ö¾ð¾î ºÐ¾ß º£½ºÆ®(ÁÖ) |
|
| |
|
| |
ÇÁ·Î±×·¡¹Ö¾ð¾î ºÐ¾ß ½Å°£ |
|
| |
|
 |
 |
½Ç¿ëÀûÀÎ ¸ÞŸÇÁ·Î±×·¡¹Ö ¼ö´Ü°ú ±â¹ýÀ» ¾Ë·ÁÁִ å. ¸ÞŸÇÁ·Î±×·¡¹ÖÀÌ ¹«¾ùÀÌ¸ç ¾î¶² °÷¿¡ »ç¿ëÇÒ ¶§ °¡Àå ÁÁÀºÁö¿¡ ´ëÇØ ¼³¸íÇϸç, ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀ» µ¶ÀÚÀÇ ½ÇÁ¦ ¾÷¹«¿¡ È¿°úÀûÀ¸·Î »ç¿ëÇÏ·Á ÇÒ ¶§ ÇÊ¿äÇÑ Åä´ë¸¦ Á¦°øÇÑ´Ù.
Ç¥ÁØ ÅÛÇø´ ¶óÀ̺ê·ÎÀÌÀÇ °í³ª¿ë±¸µé¿¡ Àͼ÷ÇÑ ¸ðµç ÇÁ·Î±×·¡¸ÓµéÀ» ´ë»óÀ¸·Î Çϸç Boost Metaprogramming ¶óÀ̺귯¸®¸¦ µµ±¸·Î ÇØ¼ Àб⠽¬¿î ¹®Àå°ú ½ÇÁ¦ÀûÀÎ ¿¹Á¦µéÀ» Á¦°øÇϰí ÀÖ´Ù. ºÎ·Ï CD¿¡´Â ¸ðµç Boost Metaprogramming ¶óÀ̺귯¸®¸¦ ºñ·ÔÇÑ ¸ðµç Boost C++ ¶óÀ̺귯¸®µé°ú ±× Âü°í ¹®¼, ±×¸®°í Ã¥ÀÇ ¿¹Á¦ ÄÚµå¿Í ´Ù¾çÇÑ º¸Á¶ ÀÚ·á°¡ ¼ö·ÏµÇ¾î ÀÖ´Ù. |
|
 |
¼¹®
°¨»çÀÇ ¸»
ÀÌ Ã¥À» Á¦´ë·Î Ȱ¿ëÇÏ·Á¸é
1. µµÀÔ
1.1 ½ÃÀÛÇϸç
1.2 ¸ÞŸÇÁ·Î±×·¥À̶õ?
1.3 È£½ºÆ® ¾ð¾î ¾È¿¡¼ÀÇ ¸ÞŸÇÁ·Î±×·¡¹Ö
1.4 C++ÀÇ ¸ÞŸÇÁ·Î±×·¡¹Ö
1.4.1 ¼öÄ¡ °è»ê
1.4.2 Çü½ÄÀÇ °è»ê
1.5 ¸ÞŸÇÁ·Î±×·¡¹ÖÀÌ ÇÊ¿äÇÑ ÀÌÀ¯
1.5.1 ´ë¾È 1: ½ÇÇà½ÃÁ¡ °è»ê
1.5.2 ´ë¾È 2: »ç¿ëÀÚ ÇØ¼®
1.5.3 C++ ¸ÞŸÇÁ·Î±×·¡¹ÖÀÌ ÇÊ¿äÇÑ ÀÌÀ¯
1.6 ¾ðÁ¦ ¸ÞŸÇÁ·Î±×·¡¹ÖÀ» ÇÒ °ÍÀΰ¡
1.7 ¸ÞŸÇÁ·Î±×·¡¹Ö ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÑ ÀÌÀ¯
2. ƯÁú°ú Çü½Ä ´Ù·ç±â
2.1 Çü½Ä ¿¬°ü
2.1.1 Á÷Á¢ÀûÀÎ Á¢±Ù¹æ½Ä
2.1.2 Á» ´õ ¿ìȸÀûÀÎ ¹æ½Ä
2.1.3 Áö¸§±æÀ» ã¾Æ¼
2.2 ¸ÞŸÇÔ¼ö
2.3 ¼öÄ¡ÀûÀÎ ¸ÞŸÇÔ¼ö
2.4 ½ÇÇà ½ÃÁ¡¿¡¼ÀÇ ¼±ÅÃ
2.4.1 iter_swap¿¡ ´ëÇØ Á» ´õ
2.4.2 Á» ´õ ÃÖÀûÈÇÏÀÚ¸é
2.4.3 ¶Ç ´Ù¸¥ ¹®Á¦
2.4.4 ÃÖÁ¾ÀûÀÎ ÇØ°áÃ¥
2.5 Boost Type Traits ¶óÀ̺귯¸®¿¡ ´ëÇÑ °£´ÜÇÑ ¼Ò°³
2.5.1 ÀϹÝÀûÀÎ »çÇ×
2.5.2 ±âº» Çü½Ä ¹üÁÖÈ
2.5.3 2Â÷ Çü½Ä ¹üÁÖÈ
2.5.4 Çü½Ä ¼Ó¼ºµé
2.5.5 Çü½Äµé »çÀÌÀÇ °ü°è
2.5.6 Çü½Ä º¯È¯
2.6 ¹«Ç× ¸ÞŸÇÔ¼ö
2.7 ¸ÞŸÇÔ¼öÀÇ Á¤ÀÇ
2.8 ¿ª»ç
2.9 ¼¼ºÎ»çÇ×
2.10 ½Ç½À °úÁ¦
3. ¸ÞŸÇÔ¼ö¿¡ ´ëÇØ Á» ´õ ÀÚ¼¼È÷
3.1 Â÷¿ø ÇØ¼®
3.1.1 Â÷¿øÀÇ Ç¥Çö
3.1.2 ¼ö·®ÀÇ Ç¥Çö
3.1.3 ´õÇϱâ¿Í »©±âÀÇ ±¸Çö
3.1.4 °öÇϱâÀÇ ±¸Çö
3.1.5 ³ª´©±â ±¸Çö
3.2 °íÂ÷ ¸ÞŸÇÔ¼öµé
3.3 ÀÚ¸®Ç¥ ´Ù·ç±â
3.3.1 lambda ¸ÞŸÇÔ¼ö
3.3.2 apply ¸ÞŸÇÔ¼ö
3.4 ¶÷´ÙÀÇ Ãß°¡ÀûÀÎ ±â´Éµé
3.4.1 ºÎºÐÀûÀÎ ¸ÞŸÇÔ¼ö Àû¿ë
3.4.2 ¸ÞŸÇÔ¼ö ÇÕ¼º
3.5 ¶÷´ÙÀÇ ¼¼ºÎ»çÇ×
3.5.1 ÀÚ¸®Ç¥
3.5.2 ÀÚ¸®Ç¥ Ç¥Çö½ÄÀÇ Á¤ÀÇ
3.5.3 ¶÷´Ù¿Í ºñ ¸ÞŸÇÔ¼ö ÅÛÇø´
3.5.4 °ÔÀ¸¸§ÀÇ °¡Ä¡
3.6 ¼¼ºÎ»çÇ×
3.7 ½Ç½À °úÁ¦
4. Á¤¼ö Çü½Ä ·¡ÆÛµé°ú ¿¬»êµé
4.1 ºÎ¿ï ·¡ÆÛµé°ú ¿¬»êµé
4.1.1 Çü½Ä ¼±ÅÃ
4.1.2 °ÔÀ¸¸¥ Çü½Ä ¼±ÅÃ
4.1.3 ³í¸® ¿¬»êÀÚµé
4.2 Á¤¼ö ·¡ÆÛµé°ú ¿¬»êµé
4.2.1 Á¤¼ö ¿¬»êÀÚµé
4.2.2 _c Á¤¼ö ´ÜÃà Ç¥±â
4.3 ½Ç½À °úÁ¦
5. ¼øÂ÷¿°ú ¹Ýº¹ÀÚ
5.1 °³³ä
5.2 ¼øÂ÷¿°ú ¾Ë°í¸®Áò
5.3 ¹Ýº¹ÀÚ
5.4 ¹Ýº¹ÀÚ °³³äµé
5.4.1 ÀüÁø ¹Ýº¹ÀÚ
5.4.2 ¾ç¹æÇ⠹ݺ¹ÀÚ
5.4.3 ÀÓÀÇ Á¢±Ù ¹Ýº¹ÀÚ
5.5 ¼øÂ÷¿ °³³äµé
5.5.1 ¼øÂ÷¿ ¿îÇà °³³äµé
5.5.2 È®À强
5.5.3 ¿¬°ü ¼øÂ÷¿
5.5.4 È®Àå °¡´É ¿¬°ü ¼øÂ÷¿
5.6 ¼øÂ÷¿ÀÇ »óµî
5.7 °íÀ¯ ¼øÂ÷¿ ¿¬»êµé
5.8 ¼øÂ÷¿ Ŭ·¡½ºµé
5.8.1 list
5.8.2 vector
5.8.3 deque
5.8.4 range_c
5.8.5 map
5.8.6 set
5.8.7 iterator_range
5.9 Á¤¼ö ¼øÂ÷¿ ·¡ÆÛµé
5.10 ¼øÂ÷¿ ÆÄ»ý
5.11 ¼øÂ÷¿À» Á÷Á¢ ÀÛ¼ºÇÏ·Á¸é
5.11.1 tiny ¼øÂ÷¿ ¸¸µé±â
5.11.2 ¹Ýº¹ÀÚ Ç¥Çö
5.11.3 tiny¿¡ ´ëÇÑ at ±¸Çö
5.11.4 tiny_iterator ±¸ÇöÀÇ ¿Ï¼º
5.11.5 begin°ú end
5.11.6 È®À强 Ãß°¡
5.12 ¼¼ºÎ»çÇ×
5.13 ½Ç½À °úÁ¦
6. ¾Ë°í¸®Áò
6.1 ¾Ë°í¸®Áò, °ü¿ë±¸, Àç»ç¿ë, Ãß»ó
6.2 MPLÀÇ ¾Ë°í¸®Áòµé
6.3 »ðÀÔÀÚ
6.4 ±âº»ÀûÀÎ ¼øÂ÷¿ ¾Ë°í¸®Áòµé
6.5 Á¶È¸ ¾Ë°í¸®Áòµé
6.6 ¼øÂ÷¿ »ý¼º ¾Ë°í¸®Áòµé
6.7 ¾Ë°í¸®Áò Á÷Á¢ ÀÛ¼ºÇϱâ
6.8 ¼¼ºÎ»çÇ×
6.9 ½Ç½À °úÁ¦
7. ºä¿Í ¹Ýº¹ÀÚ ÀûÀÀÀÚ
7.1 ¿¹Á¦ ¸î °³
7.1.1 ¼øÂ÷¿ ¿ä¼Òµé·Î °è»êµÈ °ªµéÀÇ ºñ±³
7.1.2 ¿©·¯ ¼øÂ÷¿µéÀ» °áÇÕÇϱâ
7.1.3 ºÒÇÊ¿äÇÑ °è»ê ÇÇÇϱâ
7.1.4 ¼±ÅÃÀûÀÎ ¿ä¼Ò ó¸®
7.2 ºä °³³ä
7.3 ¹Ýº¹ÀÚ ÀûÀÀÀÚ
7.4 ºä Á÷Á¢ ÀÛ¼ºÇϱâ
7.5 ¿ª»ç
7.6 ½Ç½À °úÁ¦
8. Áø´Ü
8.1 ¿À·ù ¼Ò¼³À» µð¹ö±ëÇϱâ
8.1.1 ÀνºÅϽºÈ ¿ªÃßÀû
8.1.2 ´Ù¾çÇÑ ¿À·ù ¼½Äµé
8.2 µµ±¸¸¦ ÀÌ¿ëÇÑ Áø´Ü ºÐ¼®
8.2.1 ´Ù¸¥ Àǰߵµ µé¾îº¼ °Í
8.2.2 ¼Ò½º ÄÚµå À̵¿ º¸Á¶ ±â´ÉÀ» Ȱ¿ëÇÒ °Í
8.2.3 ¾µ µ¥ ¾ø´Â °¡Áö¸¦ Ãij¾ °Í
8.3 ÀǵµÀûÀÎ Áø´Ü »ý¼º
8.3.1 Á¤Àû ´Ü¾ð¹®
8.3.2 MPL Á¤Àû ´Ü¾ð¹®
8.3.3 Çü½Ä Ãâ·Â
8.4 ¿ª»ç
8.5 ¼¼ºÎ»çÇ×
8.6 ½Ç½À °úÁ¦
9. ÄÄÆÄÀÏ ½ÃÁ¡/½ÇÇà½ÃÁ¡ °æ°è °Ç³Ê±â
9.1 for_each
9.1.1 Çü½Ä Ãâ·Â
9.1.2 Çü½Ä ¹æ¹®
9.2 ±¸Çö ¼±ÅÃ
9.2.1 if ¹®
9.2.2 Ŭ·¡½º ÅÛÇø´ Ư¼öÈ
9.2.3 ²¿¸®Ç¥ ºÐ¹è
9.3 °´Ã¼ »ý¼º±â
9.4 ±¸Á¶ ¼±ÅÃ
9.5 Ŭ·¡½º ÇÕ¼º
9.6 ÅÛÇø´ Àμö·Î¼ÀÇ (¸â¹ö)ÇÔ¼ö Æ÷ÀÎÅÍ
9.7 Çü½Ä »èÁ¦(type erasure)
9.7.1 ¿¹Á¦ Çϳª
9.7.2 ÀϹÝÈ
9.7.3 "¼öµ¿" Çü½Ä »èÁ¦
9.7.4 ÀÚµ¿ÀûÀÎ Çü½Ä »èÁ¦
9.7.5 ÀÎÅÍÆäÀ̽ºÀÇ º¸Á¸
9.8 ¹¦ÇÏ°Ô µÇÇ®À̵Ǵ ÅÛÇø´ ÆÐÅÏ
9.8.1 ÇÔ¼öÀÇ »ý¼º
9.8.2 Áߺ¹ÀûÀç ÇØ¼ÒÀÇ °ü¸®
9.9 Áߺ¹ÀûÀç ÁýÇÕÀÇ ¸í½ÃÀûÀÎ °ü¸®
9.10 "sizeof Æ®¸¯"
9.11 ¿ä¾à
9.12 ½Ç½À °úÁ¦
10. ¿µ¿ª ±¹ÇÑ ³»Àå ¾ð¾î
10.1 ÀÛÀº ¾ð¾î Çϳª...
10.2 ...»ý°¢º¸´Ù´Â Å©´Ù
10.2.1 make À¯Æ¿¸®Æ¼ ¾ð¾î
10.2.2 ¹èÄ¿½º ³ª¿ì¾î Çü½Ä
10.2.3 YACC
10.2.4 DSL ¿ä¾à
10.3 µÚÁýÈù DSL
10.4 È£½ºÆ® ¾ð¾î·Î¼ÀÇ C++
10.5 Blitz++¿Í Ç¥Çö½Ä ÅÛÇø´
10.5.1 ¹®Á¦
10.5.2 Ç¥Çö½Ä ÅÛÇø´
10.5.3 ±× ¿ÜÀÇ Blitz++ ¸¶¹ý
10.6 ¹ü¿ë DSELµé
10.6.1 ¸í¸íµÈ ¸Å°³º¯¼ö
10.6.2 À͸í ÇÔ¼ö ¸¸µé±â
10.7 Boost Spirit ¶óÀ̺귯¸®
10.7.1 ´ÝÈû
10.7.2 ÇÏÀ§±ÔÄ¢
10.8 ¿ä¾à
10.9 ½Ç½À °úÁ¦
11. DSEL ¼³°è µû¶óÇϱâ
11.1 À¯ÇÑ»óűâ°è
11.1.1 ¿µ¿ª Ãß»ó
11.1.2 Ç¥±â¹ý
11.2 ÇÁ·¹ÀÓ¿÷ ¼³°è ¸ñÇ¥
11.3 ÇÁ·¹ÀÓ¿÷ ÀÎÅÍÆäÀ̽º ±âÃÊ
11.4 DSL ¼±ÅÃ
11.4.1 ÀüÀÌÇ¥ÀÇ Ç¥Çö
11.4.2 Á¾ÇÕ
11.5 ±¸Çö
11.6 ºÐ¼®
11.7 C++ ¾ð¾î ÀÚüÀÇ °³¼± ¹æÇâ
11.8 ½Ç½À °úÁ¦
ºÎ·Ï A Àü󸮱⠸ޟÇÁ·Î±×·¡¹Ö ÀÔ¹®
A.1 µ¿±â
A.1.1 ÄÚµå »ý¼º
A.1.2 ÇØ°áÃ¥Àº Àü󸮱â
A.2 Àü󸮱âÀÇ ±Ùº» Ãß»óµé
A.2.1 Àüó¸® ÅäÅ«
A.2.2 ¸ÅÅ©·Î
A.2.3 ¸ÅÅ©·Î Àμö
A.3 Àü󸮱⠶óÀ̺귯¸® ±¸Á¶
A.4 Àü󸮱⠶óÀ̺귯¸®ÀÇ Ãß»óµé
A.4.1 µÇÇ®ÀÌ
A.4.2 »ê¼ú, ³í¸®, ºñ±³ ¿¬»êµé
A.4.3 Á¦¾î ±¸Á¶
A.4.4 ÅäÅ« ºÙÀ̱â
A.4.5 ÀÚ·á Çü½Ä
A.5 ½Ç½À °úÁ¦
ºÎ·Ï B typename Ű¿öµå¿Í template Ű¿öµå
B.1 ³íÁ¡
B.1.1 ¹®Á¦Á¡ Çϳª
B.1.2 Çü½ÄÀÇ ¸ðÈ£¼º ÇØ¼Ò
B.1.3 class ´ë typename
B.1.4 ¹®Á¦Á¡ µÑ
B.1.5 ÅÛÇø´ ¸ðÈ£¼º ÇØ¼Ò
B.2 ±ÔÄ¢
B.2.1 typename Ű¿öµå
B.2.2 template Ű¿öµå
ºÎ·Ï C ÄÄÆÄÀÏ ½ÃÁ¡ ¼º´É
C.1 °è»ê ¸ðÇü
C.1.1 °á°ú º¸Á¸
C.1.2 ¿¹Á¦ Çϳª
C.1.3 ¼û°ÜÁ® ÀÖ´Â °Íµé
C.2 ÄÄÆÄÀÏ ½Ã°£ °ü¸®
C.3 Å×½ºÆ®
C.3.1 °á°ú º¸Á¸ÀÇ È¿°ú
C.3.2 ±â¾ïÇÑ °á°úÀÇ Á¶È¸ ºñ¿ë
C.3.3 Ư¼öÈÀÇ ¾ð±Þ
C.3.4 ³»Æ÷µÈ ÅÛÇø´ ÀνºÅϽºÈ
C.3.5 ºÎºÐ Ư¼öÈ °³¼ö
C.3.6 ±ä ±âÈ£
C.3.7 ¸ÞŸÇÔ¼ö À̸§ÀÇ ±¸Á¶ º¹Àâµµ
ºÎ·Ï D MPL À̽ļº ¿ä¾à
Âü°í¹®Çå
ã¾Æº¸±â
|
|
 |
David Abrahams´Â Boost C++ ¶óÀ̺귯¸® °³¹ß ±×·ìÀÇ Ã¢¸³ ¸â¹öÀÌÀÚ ÁßÀçÀÚÀÌ´Ù. Dave´Â 1996³âºÎÅÍ ANSI/ISO C++ À§¿øÈ¸ÀÇ ÀÏ¿øÀ¸·Î Ȱµ¿Çϰí ÀÖÀ¸¸ç, C++ ¶óÀ̺귯¸®ÀÇ ¿¹¿Ü 󸮿¡ ´ëÇÑ ÀÌ·Ð, ¸í¼¼, ±¸Çö¿¡ ±â¿©ÇÑ °ÍÀ¸·Î °¡Àå Àß ¾Ë·ÁÁ® ÀÖ´Ù. ±×ÀÇ È¸»ç Boost ConsultingÀº Boost °ü·Ã Áö¿ø°ú °³¹ß ¼ºñ½º, ±×¸®°í ¼ÒÇÁÆ®¿þ¾î ±¸Ãà ºÐ¾ßÀÇ Àü¹®°¡ ±³À° ¼ºñ½º¸¦ Á¦°øÇÑ´Ù.
Aleksey Gurtovoy´Â MetaCommunicationÀÇ ±â¼ú ¼±ÀÓÀÌÀÚ, Boost C++ °øµ¿Ã¼¿¡ ±â¿©ÇÏ´Â ÀÏ¿øÀÌ´Ù. Aleksey´Â ¶ÇÇÑ Boost Metaprogramming ¶óÀ̺귯¸®ÀÇ ¿ø ÀÛ¼ºÀÚÀ̱⵵ ÇÏ´Ù. 1993³âºÎÅÍ C++À» »ç¿ëÇØ ¿Â ±×´Â, Krasnoyarsk Technical State University, Russia¿¡¼ Àü»êÇÐ ¼®»ç ÇÐÀ§¸¦ ¹Þ¾Ò´Ù
¡¼ ÀúÀÚ/¿ªÀÚ Prolog ¡½
ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀº C++ÀÇ ÀÀ¿ë ¹æ¹ý Áß ºñ±³Àû ÃÖ±Ù¿¡ ¹ß°ßµÈ °ÍÀθ¸Å, ¸¹Àº C++ ÇÁ·Î±×·¡¸Óµé¿¡°Ô ¾ÆÁ÷µµ »ý¼ÒÇÑ ºÐ¾ß¶ó°í ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù. Àú´Â [Game Programming Gems] 1±ÇÀÇ "ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀ» ÀÌ¿ëÇÑ ºü¸¥ ¼öÇÐ ¿¬»ê"À» ¹ø¿ªÇÏ¸é¼ ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹Ö¿¡ °ü½ÉÀ» °¡Áö°Ô µÇ¾ú½À´Ï´Ù. ÀÌÈÄ Á¶±Ý¾¿ °øºÎ¸¦ ÇØ³ª°¡´Ù, AlexandrescuÀÇ [Modern C++ Design]À» ÀÐÀ¸¸é¼ ¿ÀÈ÷·Á °ÌÀ» ¸Ô¾ú½À´Ï´Ù. ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀÌ ¸ÚÁö±ä ÇÏÁö¸¸ º¸Åë »ç¶÷Àº Á¢±ÙÇÒ ¼ö ¾ø´Â ½ÅºñÀÇ ¿µ¿ªÀÌ ¾Æ´Ò±îÇÏ´Â »ý°¢ÀÌ µé¾ú´ø °ÍÀÔ´Ï´Ù.
±×·± »óȲ¿¡¼ Á¶±ÝÀº ¹þ¾î³ª°Ô µÈ °è±â´Â, LuaBind ¶ó´Â ÇÑ Lua-C/C++ ¹ÙÀεù ¶óÀ̺귯¸®ÀÇ ´ÙÀ½°ú °°Àº ¸ÚÁø ±¸¹®À» Á¢ÇÏ°Ô µÈ °ÍÀ̾ú½À´Ï´Ù.
module(L) [ def("f", &f), def("g", &g), class_("A") .def(construcor), def("h", &h) ];
ÇÔ¼ö f, g, h¿Í int µÎ °³¸¦ ¹Þ´Â »ý¼ºÀÚ¸¦ °¡Áø Ŭ·¡½º A¸¦ ·ç¾Æ¿¡ µî·ÏÇÏ´Â C++ Äڵ带 ÀÌ·¸°Ô °£´ÜÇÏ°í °£°áÇÏ°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ¸¸µå´Â °ÍÀÌ ¹Ù·Î ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀ̶ó¸é, ¾î·Æ´õ¶óµµ ¹è¿öº¼ ¸¸ÇÑ °ÍÀÌ ¾Æ´Ò±îÇÏ´Â »ý°¢À» °¡Áö°Ô µÇ¾ú½À´Ï´Ù.
C++ ÅÛÇø´ ÀÚü¿¡ ´ëÇÑ Ã¥À̳ª ÀÎÅͳݿ¡ ÀÖ´Â ¸î °¡Áö ÀڷḸÀ¸·Î´Â ¼ºÀÌ Â÷Áö ¾Ê¾Ò´ø Â÷¿¡, C++ ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀÇ Ç¥ÁØÀûÀÎ ¼ö´ÜÀ̶ó°í ÇÒ ¼ö ÀÖ´Â Boost MPLÀÇ ÇÙ½É °³¹ßÀÚµéÀÌ °øÀ» µé¿© ¾´ ÀÌ Ã¥À» ¹ø¿ªÇÏ°Ô µÈ °ÍÀº Á¦°Ô Çà¿îÀÌ ¾Æ´Ò ¼ö ¾ø½À´Ï´Ù. Ç×»ó ±×·¸µíÀÌ Á» ´õ ½Ã°£À» µé¿©¼ ¹ø¿ªÀ» ÇÒ ¼ö ÀÖ¾ú´Ù¸é ÁÁ¾ÒÀ» °Å¶ó´Â ÈÄȸ´Â ³²¾Æ ÀÖÁö¸¸, ±×·¡µµ ´Ü¼øÈ÷ ¹®ÀåÀ» ¿Å±â´Â »ç¶÷ÀÌ ¾Æ´Ï¶ó ½ÇÁ¦·Î ÀÌ Ã¥À» °¡Áö°í °øºÎ¸¦ ÇÏ´Â »ç¶÷ÀÇ ÀÔÀå¿¡¼ ¹ø¿ªÀ» ÇÒ ¼ö ÀÖ¾î¼ ´ÙÇàÀ̶ó°í »ý°¢ÇÕ´Ï´Ù.
Modern C++¸¸ÅÀº ¾Æ´ÏÁö¸¸, ºÐ¾ß°¡ ºÐ¾ßÀθ¸Å ÀÌ Ã¥Àº Á» ¾î·Á¿î ÆíÀÔ´Ï´Ù(¹°·Ð ºÎÁ·ÇÑ ¹ø¿ª Å¿µµ ÀÖ°Ú½À´Ï´Ù). ¾Õ¿¡¼ LuaBind¸¦ ¾ð±ÞÇߴµ¥, µ¶ÀÚ ¿©·¯ºÐµµ ±×¿Í ºñ½ÁÇÑ °è±â³ª ¸ñÇ¥¸¦ °¡Áø´Ù¸é Áß°£¿¡ Æ÷±âÇÏÁö ¾Ê°í °è¼Ó ³ª¾Æ°¥ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. LuaBind ¿¹Á¦¿¡ °¨¸íÀ» ¸øÇß´Ù°í ÇØµµ °ÆÁ¤ÇÒ ÇÊ¿ä´Â ¾øÀ» °ÍÀÔ´Ï´Ù. 1Àå¿¡¼ 3Àå±îÁö¿¡ Èï¹Ì·Î¿î ¿¹Á¦µéÀÌ ¸¹ÀÌ ÀÖÀ¸´Ï±î¿ä. Ȥ½Ã ±× ¿¹Á¦µé¿¡¼µµ ¹º°¡ °¨À» ¹ÞÁö ¸øÇß´Ù¸é 11ÀåÀ» ¸ÕÀú Àо½Ã±æ ±ÇÇÕ´Ï´Ù. FSMÀ̶ó¸é ´ç¿¬È÷ ÀÚ·á ÁÖµµÀû(data-driven) Á¢±ÙÀÌ Á¤¼®À̶ó°í »ý°¢Çϰųª ±³¹¦ÇÑ ¸ÅÅ©·Î¿¡ ÀÇÁ¸Çß´ø ºÐµé¿¡°Ô´Â ¾î´À Á¤µµ Ãæ°ÝÀûÀ̱â±îÁö ÇÒ °ÍÀÔ´Ï´Ù.
±×¸®°í Ã¥ÀÇ »ó´ç ºÎºÐÀÌ MPLÀ» À̾߱âÇϴµ¥, MPLÀ» ÀÌÇØÇÏ´Â µ¥¿¡´Â STL¿¡ ´ëÇÑ ÁÁÀº Ã¥À» ÇÑ ±Ç Àо´Â °Íµµ µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù. °³º° ÄÁÅ×À̳Ê, ¾Ë°í¸®ÁòÀÇ È°¿ë¹ý¸¸ ´Ù·ç´Â Ã¥º¸´Ù´Â °³³ä, ¸ðÇü, Á¤·Ã, ¼øÂ÷¿, ¿ä±¸»çÇ×, ÀüÁ¦Á¶°Ç µî STLÀÌ ±Ù°ÅÇÏ´Â °³³äÀûÀÎ ÇÁ·¹ÀÓ¿÷µµ Ãæ½ÇÇÏ°Ô ¼³¸íÇϴ åÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. MPLÀº ±×·¯ÇÑ STLÀÇ ÇÁ·¹ÀÓ¿÷À» ¸¹ÀÌ ¹Ý¿µÇϰí Àֱ⠶§¹®ÀÔ´Ï´Ù. ±×·± STL Ã¥À¸·Î´Â Matthew H. AusternÀÇ [Generic Programming and the STL]ÀÌ ÀÖ½À´Ï´Ù. ¹ø¿ª¼µµ °ð ³ª¿Ã °ÍÀÔ´Ï´Ù.
¹°·Ð, C++ ÅÛÇø´ ÀÚü¿¡ ´ëÇÑ ¾î´À Á¤µµ ÀÚ¼¼ÇÑ Áö½ÄÀº ¹Ýµå½Ã °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±× ºÎºÐ¿¡ ´ëÇØ¼´Â Bjarne StroustrupÀÇ [The C++ Programming Language]¿Í ÇÔ²² Vandevoorde ¹× JosuttisÀÇ [C++ Templates]¶ó´Â Ã¥À» ²Å´Â ºÐµéÀÌ ¸¹À» °ÍÀÔ´Ï´Ù. µÎ ±Ç ¸ðµÎ ¹ø¿ª¼¸¦ ±¸ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
Âü°í·Î, ÀÌ Ã¥Àº ¿ø¼ÀÇ 2004³â 12¿ù Á¦2¼â¸¦ ±âÁØÀ¸·Î ¹ø¿ªÇßÀ¸¸ç 2005³â 5¿ù 2ÀÏÀÚ ¿ø¼ Á¤¿ÀÇ¥ ¸¦ ¹Ý¿µÇß½À´Ï´Ù. Ç×»ó ±×·¸µíÀÌ Á¦ ȨÆäÀÌÁö occam's Razor ¿¡ ÀÌ Ã¥¿¡ ´ëÇÑ Ãß°¡ÀûÀÎ Á¤¿ÀÇ¥¿Í »õ·Î °»½ÅµÈ ³»¿ëÀ» ´ãÀº ÆäÀÌÁö¸¦ ¸¶·ÃÇØ µÎ°Ú½À´Ï´Ù. ¿À·ù º¸°í³ª Ã¥¿¡ ´ëÇÑ Àǰߵµ ȯ¿µÇÕ´Ï´Ù. |
|
|
|
|
 |
|
ÇÑÁ¤µµ¼ ¹Ý°ª¼¼ÀÏ!
2005-2008 °Äľî¿öµå ¼±Á¤µµ¼ ¹Ý°ª¼¼ÀÏ! - ´ÊÀ¸¸é Áö´Â°Å´Ù!
2009-06-30 ~ Á¾·áÀϽà ¹ÌÁ¤ |
|
À§Ç³´ç´ç ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °ÄÄ ÆÐŰÁö12Á¾!
À§Ç³´ç´ç ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °ÄÄ ÆÐŰÁö12Á¾!
2010-01-25 ~ Á¾·áÀϽà ¹ÌÁ¤ |
|
|
|
|
|
|
|
|
|