|
|
|
|
|
| ÀϹÝÀû ÇÁ·Î±×·¡¹Ö°ú STL: C++ Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®ÀÇ È°¿ë°ú È®Àå
|
 |
|
|
| ¤ýÀú ÀÚ |
Matthew H. Austern
|
| ¤ý¿ª ÀÚ |
·ù±¤
|
| ¤ý±¸ ºÐ |
¹ø¿ª¼
|
| ¤ý¹ßÇàÀÏ |
2005³â 07¿ù 07ÀÏ |
| ¤ýÁ¤ °¡ |
28,000¿ø |
| ¤ýÆäÀÌÁö |
701 ÆäÀÌÁö |
| ¤ýISBN |
89-5674-270-7 |
| ¤ý³À̵µ |
ÃʱÞ.Áß±Þ |
| ¤ýÃâÆÇ»ç |
Á¤º¸¹®È»ç |
|
|
|
|
|
|
|
 |
 |
¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀº C++¸¦ ÇϳªÀÇ °´Ã¼ÁöÇâÀû ¾ð¾î·Î¸¸ »ý°¢ÇÑ´Ù. C++´Â ÀϹÝÀû ÇÁ·Î±×·¡¹Ö(generic programming)À» À§ÇÑ ¾ð¾îÀ̱⵵ ÇÏ´Ù. ÀϹÝÀû ÇÁ·Î±×·¡¹ÖÀº µ¶ÀÚ°¡ È¿À²ÀûÀ̰í Àç»ç¿ë °¡´ÉÇÑ ¼ÒÇÁÆ®¿þ¾î ±¸¼º¿ä¼Ò¸¦ ÀÛ¼ºÇÏ´Â ´É·ÂÀ» Å©°Ô Çâ»ó½Ãų ¼ö ÀÖ´Â ¶Ç ´Ù¸¥ ¹æ¹ý·ÐÀÌ´Ù.
ÁÖ¸ñÇÒ¸¸ÇÑ C++ ±ÇÀ§ÀÚ Matthew H. AusternÀÌ Àú¼úÇÑ ÀÌ Ã¥ [ÀϹÝÀû ÇÁ·Î±×·¡¹Ö°ú STL]Àº µ¶ÀÚ¿¡°Ô ÀϹÝÀû ÇÁ·Î±×·¡¹Ö ÆÐ·¯´ÙÀÓÀ» ¼Ò°³Çϸç, ±× ÆÐ·¯´ÙÀÓÀÇ °¡Àå Áß¿äÇÑ »ç·ÊÀÎ C++ Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®(STL)¸¦ ¼³¸íÇÑ´Ù. ÀÌ Ã¥Àº STLÀÌ ´ÜÁö Æí¸®ÇÑ ÄÁÅ×ÀÌ³Ê Å¬·¡½ºµéÀÇ ¸ðÀ½ÀÌ ¾Æ´Ï¶ó ÀϹÝÀûÀÎ, ±×¸®°í ¼·Î ¼¯¾î¼ ¾µ ¼ö ÀÖ´Â ±¸¼º¿ä¼ÒµéÀ» À§ÇÑ È®À强 ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©ÀÓÀ» ¹àÈù´Ù.
[ÀϹÝÀû ÇÁ·Î±×·¡¹Ö°ú STL]Àº ÀϹÝÀû ÇÁ·Î±×·¡¹Ö¿¡ ±ò¸° ÇÙ½É Âø»óµé, Áï °³³ä, ¸ðÇüÈ, Á¤·ÃÀ» ¼³¸íÇϸç, ±×·± Âø»óµéÀÌ STLÀÇ ±Ùº» °³³äµéÀÎ ¹Ýº¹ÀÚ, ÄÁÅ×À̳Ê, ÇÔ¼ö °´Ã¼¿¡ ¾î¶»°Ô Àû¿ëµÇ´ÂÁö¸¦ À̾߱âÇÑ´Ù. ÀÌ·± È帧À» ÅëÇØ¼ µ¶ÀÚ´Â STLÀ» ƯÁ¤ÇÑ ÇÔ¼öµé°ú Ŭ·¡½ºµéÀÇ ¶óÀ̺귯¸®°¡ ¾Æ´Ï¶ó °³³äµéÀÇ ¶óÀ̺귯¸®·Î º¼ ¼ö ÀÖ°Ô µÈ´Ù. ¶ÇÇÑ µ¶ÀÚ´Â STLÀÇ °ø½ÄÀûÀÎ ±¸Á¶¸¦ ¹è¿ì°í ±× ÀáÀç·ÂÀ» ÃÖ´ëÇÑ È°¿ëÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» °¡Áö°Ô µÈ´Ù. ÀÌ Ã¥À» ÅëÇØ¼ µ¶ÀÚ´Â ´ÙÀ½°ú °°Àº ´É·ÂÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù.
- µ¶ÀÚ ÀÚ½ÅÀÇ ¶óÀ̺귯¸®·Î STL¸¦ È®ÀåÇÔÀ¸·Î½á À̽ļº°ú »óÈ£¿î¿ë¼ºÀ» °¡Áø ¹ü¿ëÀûÀÎ ±¸¼º¿ä¼ÒµéÀÇ ¶óÀ̺귯¸®¸¦ ±¸ÃàÇÑ´Ù.
- ÀڷᱸÁ¶¿Í ±× ÀڷᱸÁ¶¿¡ ´ëÇØ ÀÛ¿ëÇÏ´Â Çü½ÄÀ» ºÐ¸®ÇÔÀ¸·Î½á ±âº»ÀûÀÎ ¾Ë°í¸®Áòµé°ú ÀڷᱸÁ¶µéÀ» ¸Å¹ø ´Ù½Ã ÀÛ¼ºÇÒ Çʿ䰡 ¾øµµ·Ï ÇÏ´Â ÇüÅÂÀÇ ¾Ë°í¸®ÁòÀ» ÀÛ¼ºÇÑ´Ù.
- ¿©·¯ Ç÷§Æûµé°ú ÇÁ·ÎÁ§Æ®µé¿¡¼ Àç»ç¿ëµÉ ¼ö ÀÖ´Â, Á» ´õ ¿ì¾ÆÇϰí È¿À²ÀûÀ̸ç È¿°úÀûÀÎ Äڵ带 ÀÛ¼ºÇÑ´Ù.
¿À´Ã³¯ÀÇ ´Ù¾çÇÏ°íµµ »óÈ£¿¬°áµÈ ÄÄÇ»ÆÃ ȯ°æ¿¡¼ ¼ÒÇÁÆ®¿þ¾îÀÇ Àç»ç¿ë¼º°ú À̽ļºÀº ¸Å¿ì Áß¿äÇÑ ¹®Á¦ÀÌ´Ù. ÀÌ Ã¥ÀÇ Áö½Ä°ú °íÂûÀ» ÅëÇØ¼ µ¶ÀÚ´Â Àç»ç¿ë¼º°ú À̽ļºÀÌ ³ôÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÏ´Â µ¥ ÇÊ¿äÇÑ ´É·ÂÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù.
[ÀúÀÚ ¼Ò°³] Matthew H. AusternÀº MIT¿Í UC Berkley¿¡¼ °øºÎÇÑ PhDÀÌ´Ù. ÇöÀç ±×´Â Silicon Graphics ÄÄÆÄÀÏ·¯ ±×·ì¿¡¼ ÀÏÇϰí ÀÖÀ¸¸ç, SGIÀÇ C++ Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®ÀÇ ÁÖ ÀúÀÚµé Áß ÇϳªÀÌ´Ù. Dr. AusternÀº ¶ÇÇÑ Dr. Dobb's Journal°ú C++ ReportÀÇ ±â°íÀÚÀÌ¸ç ´º½º±×·ì comp.std.c++ÀÇ Åä·Ð ÁßÀçÀÚÀÌ´Ù. ±×¸®°í ISO/ANSI C++ Standards CommitteeÀÇ ÀÏ¿øÀ¸·Îµµ Ȱ¹ßÈ÷ Ȱµ¿Çϰí ÀÖ´Ù. |
| |
 |
 |
'´ë¼¼'¶ó´ø°¡ '´Ùµé ±×·¸°Ô ÇÑ´Ù' °°Àº ¸»Àº º°·Î ÁÁ¾ÆÇÏÁö ¾ÊÁö¸¸, C++ ÇÁ·Î±×·¡¸Ó¿¡°Ô STLÀº È®½ÇÈ÷ ´ë¼¼ÀÎ °Í °°½À´Ï´Ù. void main()¿¡ °ÅºÎ°¨ÀÌ ¾ø´Â ÀϺΠ¿À·¡µÈ C++ ÇÁ·Î±×·¡¸ÓµéÀº ¸ð¸£°ÚÁö¸¸, C++À» Á» ´õ ÁøÁöÇÏ°Ô ´ëÇÏ´Â ÇÁ·Î±×·¡¸ÓµéÀÌ STLÀ» Àû±ØÀûÀ¸·Î »ç¿ëÇϰí Àְųª Àû¾îµµ "STLÀ» Á» ´õ »ç¿ëÇØ¾ß ÇÏÁö ¾ÊÀ»±î" ÇÏ´Â »ý°¢Àº °¡Áö°í ÀÖ´Â °Í °°½À´Ï´Ù.
STLÀ» Á» ´õ Àû±ØÀûÀÌ°í ±¤¹üÀ§ÇÏ°Ô »ç¿ëÇϱâ À§Çؼ´Â ¹«¾ùº¸´Ùµµ STL¿¡ ¾î¶² °ÍµéÀÌ µé¾î ÀÖ´ÂÁö¸¦ ¼Ó¼ÓµéÀÌ ¾Ë Çʿ䰡 ÀÖ½À´Ï´Ù. string, vector³ª for_each, find µî ¸î¸î ÀαâÀÖ´Â ÄÁÅ×À̳ʳª ¾Ë°í¸®Áò¸¸À¸·Î ¸¸Á·Çϰí ÀÖ´Â µ¶ÀÚ¶ó¸é, STLÀÇ ¸ðµç ÄÁÅ×À̳Ê, ¹Ýº¹ÀÚ, ¾Ë°í¸®Áò, ÇÔ¼ö °´Ã¼¸¦ ÃÑ ¸Á¶óÇÑ Âü°í¼·Î¼ÀÇ ÀÌ Ã¥ÀÌ ÇÑ ÀüȯÁ¡ÀÌ µÉ °ÍÀÔ´Ï´Ù. ¾Æ¸¶µµ STL·Î ÇÒ ¼ö ÀÖ´Â ÀϵéÀÌ ¼ö ½Ê ¹è´Â ´Ã¾î³¯ °ÍÀÔ´Ï´Ù.
¶ÇÇÑ, "ÀÌ·± °ÍÀº ÇÏ¸é ¾È µÈ´Ù"³ª "ÀÌ·± Á¡Àº ÁÖÀÇÇØ¾ß ÇÑ´Ù" °°Àº Ç׸ñµéÀÌ ¸¹ÀÌ ³ª¿Í ÀÖ´Â, STLÀÇ ±î´Ù·Ó°í Á¶½É½º·¯¿î Ãø¸éµéÀ» °Á¶ÇÑ Ã¥µé·Î STLÀ» Á¢Çؼ ¿ØÁö STLÀ» ²¬²ô·´°Ô »ý°¢ÇÏ´ø µ¶ÀÚ¿¡°Ôµµ ÀÌ Ã¥Àº ÁÁÀº Ä¡·áÁ¦°¡ µÉ °ÍÀÔ´Ï´Ù. ÀÌ Ã¥ÀÇ ¾ÕºÎºÐ¿¡¼ ¼¼½ÉÇÏ°í »ó¼¼ÇÏ°Ô ¼³¸íÇϰí ÀÖ´Â STLÀÇ ±âº» öÇаú ±¸Á¶, °³³äµéÀ» ÀÌÇØÇÑ´Ù¸é, Ȥ½Ã¶óµµ ¿¹Àü¿¡ ¿ØÁö ºÒÆíÇÏ°í ¾ïÁö½º·´°Ô ´À²¼´ø ºÎºÐÀÌ ÀÚ¿¬½º·¹ ¼ö±àÀÌ °¥ °ÍÀ̸ç, ´õ ³ª¾Æ°¡¼ STLÀ» »ç¿ëÇÏ´Â ÄÚµå ÇÑ ÁÙ ÇÑ ÁÙÀ» ¸Å²ô·´°Ô À̾°¥ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
±×·¯´Ùº¸¸é STLÀ» È®ÀåÇϰí "STL ºñ½ÁÇÑ" ÀڽŸ¸ÀÇ ¶óÀ̺귯¸®¸¦ ¸¸µå´Â µ¥±îÁö ³ª¾Æ°¥ ÅÙµ¥¿ä, ±× ±æ¿¡¼µµ ¿ª½Ã ÀÌ Ã¥ÀÌ ÁÁÀº ±æÀâÀ̰¡ µÉ °ÍÀÔ´Ï´Ù. ±× ±æÀº ¶ÇÇÑ STL°ú ÇÔ²² ÀÌ Ã¥ÀÇ Áß¿äÇÑ ÁÖÁ¦ÀÎ "ÀϹÝÀû ÇÁ·Î±×·¡¹Ö(generic programming)"¿¡ Àͼ÷ÇØÁö´Â µ¥¿¡µµ ¸Å¿ì È¿°úÀûÀÎ ±æÀÌ µÉ °ÍÀÔ´Ï´Ù. ¹°·Ð ÀϹÝÀû ÇÁ·Î±×·¡¹ÖÀÇ ¹üÀ§´Â STLº¸´Ù ÈξÀ ´õ ³ÐÁö¸¸, Áö±Ý ÇöÀç ¹è¿ì°í µû¶óÇÒ¸¸ÇÑ °¡Àå ÁÁÀº ÀϹÝÀû ÇÁ·Î±×·¡¹Ö ¶óÀ̺귯¸®´Â STL¶ó°í »ý°¢ÇÕ´Ï´Ù. °³ÀÎÀûÀ¸·Î Àú´Â STLÀ» ´ÜÁö ÀϹÝÀû ÇÁ·Î±×·¡¹ÖÀ̳ª C++¸¸ÀÌ ¾Æ´Ï¶ó ¼ÒÇÁÆ®¿þ¾î °³¹ß Àüü¿¡¼ OpenGL API¿Í ÇÔ²² °¡Àå Àß ¼³°èµÈ ¶óÀ̺귯¸® Áß Çϳª¶ó°í Æò°¡Çϰí ÀÖ½À´Ï´Ù.
STLÀÇ ÇÙ½É ¼³°èÀÚ°¡ ¾´ Ã¥À¸·Î STLÀ» ¹è¿ï ¼ö ÀÖ´Ù´Â Á¡Àº ÂüÀ¸·Î Çà¿îÀÔ´Ï´Ù. ±×·± Ã¥À» ¹ø¿ªÇÏ°Ô µÈ °ÍÀº ´õ¿í Å« Çà¿îÀ̰ڰí¿ä. ¹®ÀåÀÌ °£°áÇѵ¥´Ù°¡ 2ºÎ¿¡¼ºÎÅÍ´Â ºñ½ÁÇÑ ±¸Á¶ÀÇ ³»¿ëÀÌ ¹Ýº¹µÇ´Â ÅÍ¶ó ¹ø¿ªÇϱâ´Â ÆíÇß½À´Ï´Ù. ¹°·Ð óÀ½ºÎÅÍ ³¡±îÁö ÀÐÀ¸·Á¸é Á» Áö·çÇÒ ¼öµµ ÀÖ°ÚÁö¸¸, 2ºÎºÎÅÍ´Â Âü°í ¸Å´º¾ó ÇüÅÂÀ̱⠶§¹®¿¡ °£°áÇÔ°ú ÀϰüµÈ ±¸¼ºÀÌ Áß¿äÇÏ´Ù°í º¾´Ï´Ù. ¹ø¿ªµµ ±×·± Á¡À» ¿°µÎ¿¡ µÎ°í, ±º´õ´õ±â ¾øÀÌ ³»¿ëÀ» ÃÖ´ëÇÑ ºü¸£°í È¿°úÀûÀ¸·Î Àü´ÞÇÏ´Â µ¥ ÁßÁ¡À» µÎ¾ú½À´Ï´Ù. 1ºÎ¿¡¼ ¼Ò°³ÇÏ´Â ÁÖ¿ä ¿ë¾îµé°ú °³³äµé¿¡ Àͼ÷ÇØÁø´Ù¸é, ¾ðÁ¦¶óµµ ÇÊ¿äÇÑ ³»¿ëÀ» ºü¸£°Ô ¾òÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. |
| |
| |
 |
 |
| "Infobook-Professional Computing" °ü·Ãµµ¼´Â ÃÑ 10±Ç ÀÔ´Ï´Ù. |
|
- ÀÌÆåÆ¼ºê STL(Effective STL)
|
|
- STL Æ©Å丮¾ó¡¤·¹ÆÛ·±½º °¡À̵å Á¦2ÆÇ
|
|
- ÀϹÝÀû ÇÁ·Î±×·¡¹Ö°ú STL: C++ Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®ÀÇ È°¿ë°ú È®Àå
|
|
- Advanced UNIX Programming Á¦2ÆÇ
|
|
- Art of UNIX Programming
|
|
- POSIX(Æ÷Á÷½º) ¾²·¹µå¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹Ö : À¯´Ð½º¡¤¸®´ª½º ȯ°æ¿¡¼ÀÇ ¾²·¹µå ÇÁ·Î±×·¡¹Ö
|
|
- More Effective C++
|
|
- µðÀÚÀÎ ÆÐÅÏ ÀÚ¹Ù ¿öÅ©ºÏ
|
|
- C++ Standard Library : Æ©Å丮¾ó¡¤·¹ÆÛ·±½º
|
|
- ÇÁ·Î±×·¡¹ÖÀÇ ¸ðµç °Í(The Practice of Programming)
|
| |
|
|
 |
|
|