Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ C++ ÇÁ·Î±×·¡¹Ö
"À̹ø¿¡ Ãâ°£µÈ 2ÆÇÀº ÃÊÆÇ¿¡ ºñÇØ ³»¿ëÀÌ ´õ¿í ¸í·áÇØÁ³°í, ¿¹Á¦°¡ ´õ ¸¹ÀÌ Ãß°¡µÇ¾î ½ÇÁ¦ °³¹ß ȯ°æ¿¡¼ STLÀ» ¾î¶»°Ô »ç¿ëÇØ¾ß ÇÏ´ÂÁö ±Ã±ÝÇØÇÏ´Â °³¹ßÀڵ鿡°Ô ½ÇÁúÀûÀÎ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. °Ô´Ù°¡, ¼º´É°ú ¼º´É ÃøÁ¤ µµ±¸¿¡ ´ëÇØ¼µµ ¸¹Àº Áö¸éÀ» ÇÒ¾ÖÇϰí ÀÖ´Ù. ÀüüÀûÀ¸·Î Âü ȯ¿µÇÒ¸¸ÇÑ Ã¥ÀÌ´Ù."
- Lawrence Rauchwerger, Texas A&M University
"¾Ë°í¸®µëÀº ¸¹ÀÌ, °³¹ß ½Ã°£Àº ª°Ô! ÃÊÆÇº¸´Ù ÈξÀ ¸¹Àº ¿¹Á¦°¡ Æ÷ÇÔµÈ Á¦³×¸¯ ¾Ë°í¸®µë °ü·Ã ÀåµéÀº ´ë¸¸Á·ÀÌ´Ù. ¿¹Á¦µéÀ» Â÷°î Â÷°î ÀÌÇØÇØ ³ª°¡´Ùº¸¸é ¾î´À»õ ¾Ë°í¸®µë, ÄÁÅ×À̳Ê, ¹Ýº¹Àڵ鿡 °üÇØ Àͼ÷ÇØÁ®ÀÖ´Â ÀÚ½ÅÀ» ¹ß°ßÇÏ°Ô µÉ °ÍÀÌ´Ù."
- Max A. Lebow, Software Engineer, Unisys Corporation
ÀÌ Ã¥ÀÇ ÃÊÆÇÀº Ãâ°£µÇ¾úÀ» ´ç½Ã, Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®(Standard Template Library, STL)¿¡ °üÇØ ½±°í ÀÚ¼¼ÇÑ ¼³¸í°ú ½Ç¿ëÀûÀÎ ³»¿ëÀ» ´ã°í ÀÖ¾î Å« È£ÆòÀ» ¹Þ¾Ò´ø Ã¥À̾ú´Ù. STLÀº C++ Á¦³×¸¯ µ¥ÀÌÅÍ ±¸Á¶¿Í ¾Ë°í¸®µëÀ» Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, À̸¦ ÅëÇØ È¿À²¼ºÀÇ ÀúÇϾøÀ̵µ ´Ù¾çÇÑ °÷¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â, Àç»ç¿ë¼º(resuability)°ú »óÈ£±³È¯¼º(interchangeability)À» °âºñÇÑ ÄÄÆ÷³ÍÆ®°¡ Á¦°øµÇ´Â ¶óÀ̺귯¸®ÀÌ´Ù. STLÀ» ±¸ÇöÇϰí À̸¦ ½ÇÁ¦ °³¹ß¿¡ Àû¿ëÇÏ´Â °úÁ¤¿¡¼ Áß¿äÇÑ ¿ªÇÒÀ» ´ã´çÇß´ø Àι°µéÀÌ Á÷Á¢ Àú¼ú¿¡ Âü¿©ÇÑ STL Æ©Å丮¾ó ¹× STL ·¹ÆÛ·±½º °¡À̵å, Á¦2ÆÇÀº STL¿¡ °üÇÑ Æø³ÐÀº ³»¿ëÀ» ´ã°í ÀÖ¾î ·¹ÆÛ·±½º·Î¼ÀÇ ¿ªÇÒµµ °âÇϰí ÀÖ´Ù. STLÀ» ±¸¼ºÇÏ´Â °¢ ¿ä¼ÒµéÀÌ ½±°í ÀÚ¼¼ÇÏ°Ô ¼³¸íµÇ¾î ÀÖÀ¸¸ç, ¸¹Àº ¾çÀÇ ¿¹Á¦ ÇÁ·Î±×·¥µµ °°ÀÌ Á¦°øµÈ´Ù.
ÀÌ Ã¥¿¡´Â ¹Ýº¹ÀÚ(iterator), Á¦³×¸¯ ¾Ë°í¸®µë(generic algorithm), ÄÁÅ×À̳Ê(container), ÇÔ¼ö °´Ã¼(function object) µî¿¡ °üÇÑ »ó¼¼ÇÑ ¼³¸íÀÌ ´ã°ÜÁ® ÀÖ´Ù (1ºÎ). ´Ù¼Ò ±Ô¸ð°¡ Å©°í, ±×¸® ½±Áö ¾ÊÀº ¾ÖÇø®ÄÉÀ̼ÇÀ» Á÷Á¢ ÀÛ¼ºÇغ¸¸é¼ STLÀÇ °·ÂÇÔ°ú À¯¿¬¼ºÀ» ¾î¶»°Ô Ȱ¿ëµÇ´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ´Ù (2ºÎ). ¶ÇÇÑ ÀÌ Ã¥¿¡´Â ±¤¹üÀ§ÇÏ°í »ó¼¼ÇÑ STL ·¹ÆÛ·±½º °¡À̵尡 ´ã°Ü ÀÖ¾î STL·Î °³¹ßÀ» ÁøÇàÇÒ ¶§, Ç×»ó ¿·¿¡ µÎ°í ¼ö½Ã·Î Âü°íÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù (3ºÎ).
À̹ø¿¡ ³ª¿Â 2ÆÇÀº ±¹Á¦ Ç¥ÁØÀ¸·Î ÃÖÁ¾ È®Á¤µÈ ANSI/ISO C++ ¾ð¾î Ç¥ÁØÀ» ¹ÙÅÁÀ¸·Î ÃÊÆÇÀÌÈÄ¿¡ º¯°æµÈ »çÇ×µéÀ» ¸ðµÎ ¹Ý¿µÇÏ¿´´Ù. ÀϺΠÀå°ú ºÎ·ÏÀÌ »õ·Î Ãß°¡µÇ¾úÀ¸¸ç, Ã¥ Àüü¿¡ °ÉÃÄ ¿¹Á¦ Äڵ带 ¸¹ÀÌ º¸°ÇÏ¿© °³³ä°ú Å×Å©´ÐÀ» ÀÌÇØÇϴµ¥ µµ¿òÀÌ µÇµµ·Ï ÇÏ¿´´Ù. ´Ù¼Ò ±Ô¸ð°¡ Å« »ùÇà ÇÁ·Î±×·¥À» ÅëÇØ ½ÇÁ¦ C++ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÖ¾î¼ STLÀ» »ç¿ëÇÏ´Â ¹æ¹ýµµ º¸¿©ÁÖ°í ÀÖ´Ù. Ã¥¿¡ ´ã±ä ¼Ò½º ÄÚµå¿Í ¿¹Á¦µéÀº http://www.aw.com/cseng/titles/0-201-37923-6/¿¡¼ ¾òÀ» ¼ö ÀÖ´Ù.
David R. Musser´Â Rensselaer Polytechnic Institute¿¡¼ ±³¼ö·Î ÀçÁ÷ÁßÀÌ´Ù. STL ÃÊâ±â¶§ºÎÅÍ STL¿¡ ±í¼÷ÀÌ °ü¿©ÇØ¿ÔÀ¸¸ç, STLÀÇ Ã¢½ÃÀÚÀÎ Alexander Stepanov¿Í ÇÔ²² STLÀÇ Ã¹ ¹øÂ° ±¸Çö¹°À» °³¹ßÇÏ¿´´Ù. ANSI/ISO C++ ¾ð¾î Ç¥ÁØ¿¡ STLÀ» Æ÷ÇÔ½Ã۱â À§ÇØ Àû±Ø ¾ÕÀå¼¹´ø Àι°ÀÌ´Ù. Gillmer J. Derge´Â ÄÁ¼³ÆÃ ȸ»çÀÎ Toltec Software Services, Inc.ÀÇ »çÀå °â CEOÀÌ´Ù. 10³â ³Ñ°Ô C++ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇØ¿À°í ÀÖÀ¸¸ç, General Electric Corporate R&D ºÎ¼¿¡¼ Ä¥³â°£ ÀÏÇÏ¸é¼ ÀÌ·èÇÑ ±â¼úÀûÀÎ °ø·Î·Î Whitney »óÀ» ¼ö»óÇÑ °æ·ÂÀÌ ÀÖ´Ù. Atul Saini´Â C++·Î °í¼º´É ¸Þ½ÃÁö ¹Ìµé¿þ¾î¸¦ °³¹ßÇϴ ȸ»çÀÎ Fiorno Software, Inc.ÀÇ »çÀå °â CEOÀÌ´Ù. ±×´Â 1994³â¿¡ STLÀ» óÀ½À¸·Î »ó¿ëȽÃÄ×À¸¸ç, STLÀÌ ANSI/ISO C++ ¾ð¾î Ç¥ÁØ¿¡ Æ÷ÇԵǴµ¥ Å« ±â¿©¸¦ ÇÏ¿´´Ù.
"À̹ø¿¡ Ãâ°£µÈ 2ÆÇÀº ÃÊÆÇ¿¡ ºñÇØ ³»¿ëÀÌ ´õ¿í ¸í·áÇØÁ³°í, ¿¹Á¦°¡ ´õ ¸¹ÀÌ Ãß°¡µÇ¾î ½ÇÁ¦ °³¹ß ȯ°æ¿¡¼ STLÀ» ¾î¶»°Ô »ç¿ëÇØ¾ß ÇÏ´ÂÁö ±Ã±ÝÇØÇÏ´Â °³¹ßÀڵ鿡°Ô ½ÇÁúÀûÀÎ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. °Ô´Ù°¡, ¼º´É°ú ¼º´É ÃøÁ¤ µµ±¸¿¡ ´ëÇØ¼µµ ¸¹Àº Áö¸éÀ» ÇÒ¾ÖÇϰí ÀÖ´Ù. ÀüüÀûÀ¸·Î Âü ȯ¿µÇÒ¸¸ÇÑ Ã¥ÀÌ´Ù."
- Lawrence Rauchwerger, Texas A&M University
"¾Ë°í¸®µëÀº ¸¹ÀÌ, °³¹ß ½Ã°£Àº ª°Ô! ÃÊÆÇº¸´Ù ÈξÀ ¸¹Àº ¿¹Á¦°¡ Æ÷ÇÔµÈ Á¦³×¸¯ ¾Ë°í¸®µë °ü·Ã ÀåµéÀº ´ë¸¸Á·ÀÌ´Ù. ¿¹Á¦µéÀ» Â÷°î Â÷°î ÀÌÇØÇØ ³ª°¡´Ùº¸¸é ¾î´À»õ ¾Ë°í¸®µë, ÄÁÅ×À̳Ê, ¹Ýº¹Àڵ鿡 °üÇØ Àͼ÷ÇØÁ®ÀÖ´Â ÀÚ½ÅÀ» ¹ß°ßÇÏ°Ô µÉ °ÍÀÌ´Ù."
- Max A. Lebow, Software Engineer, Unisys Corporation
ÀÌ Ã¥ÀÇ ÃÊÆÇÀº Ãâ°£µÇ¾úÀ» ´ç½Ã, Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®(Standard Template Library, STL)¿¡ °üÇØ ½±°í ÀÚ¼¼ÇÑ ¼³¸í°ú ½Ç¿ëÀûÀÎ ³»¿ëÀ» ´ã°í ÀÖ¾î Å« È£ÆòÀ» ¹Þ¾Ò´ø Ã¥À̾ú´Ù. STLÀº C++ Á¦³×¸¯ µ¥ÀÌÅÍ ±¸Á¶¿Í ¾Ë°í¸®µëÀ» Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, À̸¦ ÅëÇØ È¿À²¼ºÀÇ ÀúÇϾøÀ̵µ ´Ù¾çÇÑ °÷¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â, Àç»ç¿ë¼º(resuability)°ú »óÈ£±³È¯¼º(interchangeability)À» °âºñÇÑ ÄÄÆ÷³ÍÆ®°¡ Á¦°øµÇ´Â ¶óÀ̺귯¸®ÀÌ´Ù. STLÀ» ±¸ÇöÇϰí À̸¦ ½ÇÁ¦ °³¹ß¿¡ Àû¿ëÇÏ´Â °úÁ¤¿¡¼ Áß¿äÇÑ ¿ªÇÒÀ» ´ã´çÇß´ø Àι°µéÀÌ Á÷Á¢ Àú¼ú¿¡ Âü¿©ÇÑ STL Æ©Å丮¾ó ¹× STL ·¹ÆÛ·±½º °¡À̵å, Á¦2ÆÇÀº STL¿¡ °üÇÑ Æø³ÐÀº ³»¿ëÀ» ´ã°í ÀÖ¾î ·¹ÆÛ·±½º·Î¼ÀÇ ¿ªÇÒµµ °âÇϰí ÀÖ´Ù. STLÀ» ±¸¼ºÇÏ´Â °¢ ¿ä¼ÒµéÀÌ ½±°í ÀÚ¼¼ÇÏ°Ô ¼³¸íµÇ¾î ÀÖÀ¸¸ç, ¸¹Àº ¾çÀÇ ¿¹Á¦ ÇÁ·Î±×·¥µµ °°ÀÌ Á¦°øµÈ´Ù.
ÀÌ Ã¥¿¡´Â ¹Ýº¹ÀÚ(iterator), Á¦³×¸¯ ¾Ë°í¸®µë(generic algorithm), ÄÁÅ×À̳Ê(container), ÇÔ¼ö °´Ã¼(function object) µî¿¡ °üÇÑ »ó¼¼ÇÑ ¼³¸íÀÌ ´ã°ÜÁ® ÀÖ´Ù (1ºÎ). ´Ù¼Ò ±Ô¸ð°¡ Å©°í, ±×¸® ½±Áö ¾ÊÀº ¾ÖÇø®ÄÉÀ̼ÇÀ» Á÷Á¢ ÀÛ¼ºÇغ¸¸é¼ STLÀÇ °·ÂÇÔ°ú À¯¿¬¼ºÀ» ¾î¶»°Ô Ȱ¿ëµÇ´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ´Ù (2ºÎ). ¶ÇÇÑ ÀÌ Ã¥¿¡´Â ±¤¹üÀ§ÇÏ°í »ó¼¼ÇÑ STL ·¹ÆÛ·±½º °¡À̵尡 ´ã°Ü ÀÖ¾î STL·Î °³¹ßÀ» ÁøÇàÇÒ ¶§, Ç×»ó ¿·¿¡ µÎ°í ¼ö½Ã·Î Âü°íÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù (3ºÎ).
À̹ø¿¡ ³ª¿Â 2ÆÇÀº ±¹Á¦ Ç¥ÁØÀ¸·Î ÃÖÁ¾ È®Á¤µÈ ANSI/ISO C++ ¾ð¾î Ç¥ÁØÀ» ¹ÙÅÁÀ¸·Î ÃÊÆÇÀÌÈÄ¿¡ º¯°æµÈ »çÇ×µéÀ» ¸ðµÎ ¹Ý¿µÇÏ¿´´Ù. ÀϺΠÀå°ú ºÎ·ÏÀÌ »õ·Î Ãß°¡µÇ¾úÀ¸¸ç, Ã¥ Àüü¿¡ °ÉÃÄ ¿¹Á¦ Äڵ带 ¸¹ÀÌ º¸°ÇÏ¿© °³³ä°ú Å×Å©´ÐÀ» ÀÌÇØÇϴµ¥ µµ¿òÀÌ µÇµµ·Ï ÇÏ¿´´Ù. ´Ù¼Ò ±Ô¸ð°¡ Å« »ùÇà ÇÁ·Î±×·¥À» ÅëÇØ ½ÇÁ¦ C++ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÖ¾î¼ STLÀ» »ç¿ëÇÏ´Â ¹æ¹ýµµ º¸¿©ÁÖ°í ÀÖ´Ù. Ã¥¿¡ ´ã±ä ¼Ò½º ÄÚµå¿Í ¿¹Á¦µéÀº http://www.aw.com/cseng/titles/0-201-37923-6/¿¡¼ ¾òÀ» ¼ö ÀÖ´Ù.
David R. Musser´Â Rensselaer Polytechnic Institute¿¡¼ ±³¼ö·Î ÀçÁ÷ÁßÀÌ´Ù. STL ÃÊâ±â¶§ºÎÅÍ STL¿¡ ±í¼÷ÀÌ °ü¿©ÇØ¿ÔÀ¸¸ç, STLÀÇ Ã¢½ÃÀÚÀÎ Alexander Stepanov¿Í ÇÔ²² STLÀÇ Ã¹ ¹øÂ° ±¸Çö¹°À» °³¹ßÇÏ¿´´Ù. ANSI/ISO C++ ¾ð¾î Ç¥ÁØ¿¡ STLÀ» Æ÷ÇÔ½Ã۱â À§ÇØ Àû±Ø ¾ÕÀå¼¹´ø Àι°ÀÌ´Ù. Gillmer J. Derge´Â ÄÁ¼³ÆÃ ȸ»çÀÎ Toltec Software Services, Inc.ÀÇ »çÀå °â CEOÀÌ´Ù. 10³â ³Ñ°Ô C++ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇØ¿À°í ÀÖÀ¸¸ç, General Electric Corporate R&D ºÎ¼¿¡¼ Ä¥³â°£ ÀÏÇÏ¸é¼ ÀÌ·èÇÑ ±â¼úÀûÀÎ °ø·Î·Î Whitney »óÀ» ¼ö»óÇÑ °æ·ÂÀÌ ÀÖ´Ù. Atul Saini´Â C++·Î °í¼º´É ¸Þ½ÃÁö ¹Ìµé¿þ¾î¸¦ °³¹ßÇϴ ȸ»çÀÎ Fiorno Software, Inc.ÀÇ »çÀå °â CEOÀÌ´Ù. ±×´Â 1994³â¿¡ STLÀ» óÀ½À¸·Î »ó¿ëȽÃÄ×À¸¸ç, STLÀÌ ANSI/ISO C++ ¾ð¾î Ç¥ÁØ¿¡ Æ÷ÇԵǴµ¥ Å« ±â¿©¸¦ ÇÏ¿´´Ù.
| 1.
STL Æ©Å丮¾ó ·¹ÆÛ·±½º °¡À̵å Á¤¿ÀÇ¥ÀÔ´Ï´Ù. ÷ºÎÆÄÀÏ : 8054-469-ox.htm 6313B |
| ÀÚ·á¸í | µî·ÏÀÏ | ´Ù¿î·Îµå |














