Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ 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++ ¾ð¾î Ç¥ÁØ¿¡ Æ÷ÇԵǴµ¥ Å« ±â¿©¸¦ ÇÏ¿´´Ù.
1997³â 11¿ù ¾î´À ³¯, C++ °ü·Ã ´º½º±×·ì¿¡´Â C++ ¾ð¾îÀÇ Ã¢½ÃÀÚÀÎ Bjarne StroustupÀÇ ±ÛÀÌ Çϳª Æ÷½ºÆ®µÇ¾ú´Ù.
Friday, Nov 14, the ISO C++ Standards committee unanimously approved a 'final draft international standard' (FDIS) for C++. This means that all technical work on the C++ standard has been completed.
Personally, I'm very pleased with the new standard.
- Bjarne
Âü ±â³ª±ä ½Ã°£À̾ú´Ù. ÀåÀå 8³â¿©¿¡ °ÉÄ£ C++ Ç¥ÁØÈ ÀÛ¾÷ÀÌ ¸¶Ä§³» °á½ÇÀ» º¸°Ô µÈ °ÍÀÌ´Ù. 1980³â´ë Ãʹݿ¡ C++À̶ó´Â À̸§À» ´Þ°í ÀÌ ¼¼»ó¿¡ ž 8³â °£ÀÇ ¼ºÇü ³¡¿¡ µå·¯³½ ¸ð½À¿¡´Â ¸¹Àº º¯È°¡ ÀÖ¾úÁö¸¸, ±× Áß¿¡¼µµ °¡Àå ´«¿¡ ¶ç´Â °ÍÀº ¿ª½Ã C++ Ç¥ÁØ ¶óÀ̺귯¸®(C++ Standard Library)¿´´Ù. ƯÈ÷, ¿ì¸®°¡ STL(Standard Template Library)À̶ó°í ºÎ¸£´Â ºÎºÐÀº ÀÌ Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ °¡Àå ÇÙ½ÉÀûÀÎ ºÎºÐÀ¸·Î, C++ ÇÁ·Î±×·¡¹ÖÀÇ ÆÐÅÏÀ» ¹Ù²Ü Á¤µµ·Î ¼³°è »ç»ó Ãø¸é¿¡¼ ¸Å¿ì ½Å¼±ÇÑ ¶óÀ̺귯¸®ÀÌ´Ù. ±×¸¸Å STLÀº ´Ü¼øÈ÷ Ç¥ÁØÈµÈ Ŭ·¡½º ¶óÀ̺귯¸®°¡ ¾Æ´Ï¶ó ¸ðµç °ÍÀÌ ÅÛÇø´À¸·Î ±¸¼ºµÈ ÅÛÇø´ ¶óÀ̺귯¸®À̸ç, ±âÁ¸ C++ÀÇ Ãß»óÈ(abstraction) ¼öÁØÀ» ÇÑ Â÷¿ø ³ô¿´´Ù´Â Ãø¸é¿¡¼ Æò°¡¹ÞÀ» ¼ö ÀÖ´Â ¶óÀ̺귯¸®ÀÌ´Ù.
ÄÄÇ»ÆÃ »ê¾÷»Ó¸¸ ¾Æ´Ï¶ó, ÇÁ·Î±×·¡¹Ö ¾ð¾î»ç¿¡ ÀÖ¾î¼ ÀÎÅͳÝÀÌ ³¢Ä¡°í ÀÖ´Â ¿µÇâ·Â¿¡ °üÇØ¼ »õ»ï ¾ð±ÞÇÒ ÇÊ¿ä´Â ¾ø°ÚÀ¸³ª, C++ÀÌ ÀÎÅͳݿ¡¼ ±× °·ÂÇÔÀ» ÀÎÁ¤¹Þ°í ÀÖ´Â ¿©Å¸ ¾ð¾îµé¿¡ ºñÇØ °ü½É°ú ¿Àǰ¡ ´Ù¼Ò ¶³¾îÁø´Ù´Â Á¡Àº ÀÎÁ¤Çϰí¶óµµ, ¿©ÀüÈ÷ C++Àº °£´ÜÇÑ µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ºÎÅÍ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö, ½Ç½Ã°£ ÇÁ·Î±×·¡¹Ö ¹× ´ë±Ô¸ð Æ®·£Àè¼ÇÀ» ¼ÒÈÇÏ´Â ¼¹ö±Þ ¾ÖÇø®ÄÉÀ̼ǿ¡ À̸£±â±îÁö ¼¼°è ¼ö¹é¸¸ ÇÁ·Î±×·¡¸ÓÀÇ ¸ð±¹¾î·Î¼ ÀÌ Áö±¸»ó¿¡ Á¸ÀçÇÏ´Â °ÅÀÇ ¸ðµç ±âÁ¾ÀÇ ÄÄÇ»ÅÍ¿¡¼ »ç¿ëµÇ°í ÀÖ´Â ¾ð¾îÀÌ´Ù. 1985³â¿¡ óÀ½ C++ »ó¿ë ¹öÀüÀÌ Ãâ½ÃµÈ ÀÌ·¡·Î, ¾î¾ð 15³âµ¿¾È ³ª¸§´ë·ÎÀÇ ¿ªÇÒÀ» ÀÎÁ¤¹Þ¾Æ¿Â C++ÀÌ ÀÌÁ¦ STLÀ̶ó´Â ³¯°³¸¦ ´Þ°í »õ·Î¿î ¸ð½ÀÀ¸·Î ³ªÅ¸³µÁö¸¸, ¾ÆÁ÷ ±× ³¯°³¸¦ Ȱ¿ëÇÏÁö ¸øÇϰí ÀÖ´Â ÇÁ·Î±×·¡¸ÓµéÀÌ ¸¹´Ù. ¾ðÁ¦±îÁö µ¿Àû ¹è¿, ¼±Çü ¸®½ºÆ®, ÀÌÁø Æ®¸®¸¦ ±¸ÇöÇϱâ À§Çؼ µ¥ÀÌÅÍ ±¸Á¶ Ã¥À» µÚÁ®°¡¸ç ½Ã°£À» ÇãºñÇÒ °ÍÀΰ¡? ¾ðÁ¦±îÁö ¸Þ¸ð¸® ´©¼ö(memory leak)¸¦ ã±â À§ÇØ µð¹ö°Å¿Í ¾¾¸§ÇÏ¸ç ¹ãÀ» Áö»õ¿ï °ÍÀΰ¡? ÀÌÁ¦´Â ¿øÇÏ´Â ÄÁÅ×ÀÌ³Ê¿Í ¾Ë°í¸®µëÀ» STL¿¡¼ °ñ¶ó ¾²±â¸¸ ÇÏ¸é µÈ´Ù. ±×¸®°í, ³²´Â ½Ã°£Àº °¡Á·°ú ¾ÖÀÎ, ±×¸®°í Àڽſ¡°Ô ÇÒ¾ÖÇÏÀÚ. ÇÏÁö¸¸, °øÂ¥¶õ ¾ø´Ù. ¿ì¼± STLÀÇ »ç»ó°ú °³³äÀ» Á¦´ë·Î ÀÌÇØÇØ¾ß¸¸ ÇÑ´Ù. ÀÌÁ¦ ´Ü¼øÈ÷ C++ ¾ð¾îÀÇ È®Àå ¶óÀ̺귯¸®·Î¼°¡ ¾Æ´Ï¶ó C++ ¾ð¾îÀÇ ÇÙ½É ºÎºÐÀ¸·Î¼ STLÀ» ¹Þ¾ÆµéÀ̰í ÁغñÇØ¾ß ÇÑ´Ù. ±×¸®°í, ±× °úÁ¤¿¡¼ ÀÌ Ã¥Àº Å« µµ¿òÀÌ µÇ¾î ÁÙ °ÍÀÌ´Ù.
¾Ë·º»ê´õ ½ºÅׯijëÇÁ(Alexander Stepanov)°¡ ¼¹®À» ¾²°í, µ¥À̺ø ¹Â¼(David Musser)°¡ first author·Î Âü¿©Çß´Ù´Â ÀÌÀ¯¸¸À¸·Îµµ ÃæºÐÈ÷ ÁÖ¸ñÇÒ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Â ÀÌ Ã¥Àº 1996³â¿¡ óÀ½ ÃÊÆÇÀÌ Ãâ°£µÇ¾ú°í, C++ Ç¥ÁØÀÌ È®Á¤µÈ µÚ º¯°æ »çÇ×À» ¹Ý¿µÇÏ¿© 2001³â¿¡¼¾ß Á¦2ÆÇÀÌ ¹ß°£µÇ¾ú´Ù. Ç¥ÁØÀÌ È®Á¤µÈ Áö ¾î´Àµ¡ 3³â ³Ñ°Ô ¼¼¿ùÀÌ Èê·¶À¸³ª, ¾ÆÁ÷±îÁö STLÀ» ½±°í ÀÚ¼¼È÷ ´Ù·é Ã¥À» °í¸£±â¶õ ½±Áö ¾Ê´Ù. ÀÌ Ã¥¿¡´Â STLÀÇ Ã¢½ÃÀÚ°¡ Á÷Á¢ ¼³¸íÇÏ´Â STLÀÇ ¼³°è »ç»ó¿¡ °üÇÑ ³»¿ë°ú ÇÁ·Î±×·¡¹Ö½Ã Âü°íÇÒ ¼ö ÀÖµµ·Ï Ä£ÀýÇÑ ¼³¸íÀÌ °çµé¿©Áø 100¿©°³°¡ ³Ñ´Â ¿¹Á¦, ±×¸®°í ·¹ÆÛ·±½º °¡À̵尡 ¼ö·ÏµÇ¾î ÀÖ¾î, ÇнÀ¼·Î¼ »Ó¸¸ ¾Æ´Ï¶ó, ÄÄÇ»ÅÍ °¡±îÀÌ µÎ°í ÇÊ¿äÇÒ ¶§¸¶´Ù ã¾Æº¼ ¼ö ÀÖ´Â ·¹ÆÛ·±½º·Î¼µµ Ȱ¿ëÀÌ °¡´ÉÇÏ´Ù.
öÇÐÀÚ´Â ¾ð¾î¸¦ ÅëÇØ ¼¼»óÀ» »çÀ¯ÇÏÁö¸¸, ÇÁ·Î±×·¡¸Ó´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ÅëÇØ ÄÄÇ»Å͸¦ »çÀ¯ÇÑ´Ù. ¾Æ¹«ÂÉ·Ï ÀÌ Ã¥À» ÅëÇØ C++ STLÀÌ ÇÁ·Î±×·¡¸Ó ¿©·¯ºÐ¿¡°Ô ¼±»çÇÒ »ç°íÀÇ ÀÚÀ¯·Î¿òÀ» ÇѲ¯ ¸¸³£ÇÒ ¼ö Àֱ⸦ ¹Ù¶õ´Ù.
Friday, Nov 14, the ISO C++ Standards committee unanimously approved a 'final draft international standard' (FDIS) for C++. This means that all technical work on the C++ standard has been completed.
Personally, I'm very pleased with the new standard.
- Bjarne
Âü ±â³ª±ä ½Ã°£À̾ú´Ù. ÀåÀå 8³â¿©¿¡ °ÉÄ£ C++ Ç¥ÁØÈ ÀÛ¾÷ÀÌ ¸¶Ä§³» °á½ÇÀ» º¸°Ô µÈ °ÍÀÌ´Ù. 1980³â´ë Ãʹݿ¡ C++À̶ó´Â À̸§À» ´Þ°í ÀÌ ¼¼»ó¿¡ ž 8³â °£ÀÇ ¼ºÇü ³¡¿¡ µå·¯³½ ¸ð½À¿¡´Â ¸¹Àº º¯È°¡ ÀÖ¾úÁö¸¸, ±× Áß¿¡¼µµ °¡Àå ´«¿¡ ¶ç´Â °ÍÀº ¿ª½Ã C++ Ç¥ÁØ ¶óÀ̺귯¸®(C++ Standard Library)¿´´Ù. ƯÈ÷, ¿ì¸®°¡ STL(Standard Template Library)À̶ó°í ºÎ¸£´Â ºÎºÐÀº ÀÌ Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ °¡Àå ÇÙ½ÉÀûÀÎ ºÎºÐÀ¸·Î, C++ ÇÁ·Î±×·¡¹ÖÀÇ ÆÐÅÏÀ» ¹Ù²Ü Á¤µµ·Î ¼³°è »ç»ó Ãø¸é¿¡¼ ¸Å¿ì ½Å¼±ÇÑ ¶óÀ̺귯¸®ÀÌ´Ù. ±×¸¸Å STLÀº ´Ü¼øÈ÷ Ç¥ÁØÈµÈ Ŭ·¡½º ¶óÀ̺귯¸®°¡ ¾Æ´Ï¶ó ¸ðµç °ÍÀÌ ÅÛÇø´À¸·Î ±¸¼ºµÈ ÅÛÇø´ ¶óÀ̺귯¸®À̸ç, ±âÁ¸ C++ÀÇ Ãß»óÈ(abstraction) ¼öÁØÀ» ÇÑ Â÷¿ø ³ô¿´´Ù´Â Ãø¸é¿¡¼ Æò°¡¹ÞÀ» ¼ö ÀÖ´Â ¶óÀ̺귯¸®ÀÌ´Ù.
ÄÄÇ»ÆÃ »ê¾÷»Ó¸¸ ¾Æ´Ï¶ó, ÇÁ·Î±×·¡¹Ö ¾ð¾î»ç¿¡ ÀÖ¾î¼ ÀÎÅͳÝÀÌ ³¢Ä¡°í ÀÖ´Â ¿µÇâ·Â¿¡ °üÇØ¼ »õ»ï ¾ð±ÞÇÒ ÇÊ¿ä´Â ¾ø°ÚÀ¸³ª, C++ÀÌ ÀÎÅͳݿ¡¼ ±× °·ÂÇÔÀ» ÀÎÁ¤¹Þ°í ÀÖ´Â ¿©Å¸ ¾ð¾îµé¿¡ ºñÇØ °ü½É°ú ¿Àǰ¡ ´Ù¼Ò ¶³¾îÁø´Ù´Â Á¡Àº ÀÎÁ¤Çϰí¶óµµ, ¿©ÀüÈ÷ C++Àº °£´ÜÇÑ µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ºÎÅÍ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö, ½Ç½Ã°£ ÇÁ·Î±×·¡¹Ö ¹× ´ë±Ô¸ð Æ®·£Àè¼ÇÀ» ¼ÒÈÇÏ´Â ¼¹ö±Þ ¾ÖÇø®ÄÉÀ̼ǿ¡ À̸£±â±îÁö ¼¼°è ¼ö¹é¸¸ ÇÁ·Î±×·¡¸ÓÀÇ ¸ð±¹¾î·Î¼ ÀÌ Áö±¸»ó¿¡ Á¸ÀçÇÏ´Â °ÅÀÇ ¸ðµç ±âÁ¾ÀÇ ÄÄÇ»ÅÍ¿¡¼ »ç¿ëµÇ°í ÀÖ´Â ¾ð¾îÀÌ´Ù. 1985³â¿¡ óÀ½ C++ »ó¿ë ¹öÀüÀÌ Ãâ½ÃµÈ ÀÌ·¡·Î, ¾î¾ð 15³âµ¿¾È ³ª¸§´ë·ÎÀÇ ¿ªÇÒÀ» ÀÎÁ¤¹Þ¾Æ¿Â C++ÀÌ ÀÌÁ¦ STLÀ̶ó´Â ³¯°³¸¦ ´Þ°í »õ·Î¿î ¸ð½ÀÀ¸·Î ³ªÅ¸³µÁö¸¸, ¾ÆÁ÷ ±× ³¯°³¸¦ Ȱ¿ëÇÏÁö ¸øÇϰí ÀÖ´Â ÇÁ·Î±×·¡¸ÓµéÀÌ ¸¹´Ù. ¾ðÁ¦±îÁö µ¿Àû ¹è¿, ¼±Çü ¸®½ºÆ®, ÀÌÁø Æ®¸®¸¦ ±¸ÇöÇϱâ À§Çؼ µ¥ÀÌÅÍ ±¸Á¶ Ã¥À» µÚÁ®°¡¸ç ½Ã°£À» ÇãºñÇÒ °ÍÀΰ¡? ¾ðÁ¦±îÁö ¸Þ¸ð¸® ´©¼ö(memory leak)¸¦ ã±â À§ÇØ µð¹ö°Å¿Í ¾¾¸§ÇÏ¸ç ¹ãÀ» Áö»õ¿ï °ÍÀΰ¡? ÀÌÁ¦´Â ¿øÇÏ´Â ÄÁÅ×ÀÌ³Ê¿Í ¾Ë°í¸®µëÀ» STL¿¡¼ °ñ¶ó ¾²±â¸¸ ÇÏ¸é µÈ´Ù. ±×¸®°í, ³²´Â ½Ã°£Àº °¡Á·°ú ¾ÖÀÎ, ±×¸®°í Àڽſ¡°Ô ÇÒ¾ÖÇÏÀÚ. ÇÏÁö¸¸, °øÂ¥¶õ ¾ø´Ù. ¿ì¼± STLÀÇ »ç»ó°ú °³³äÀ» Á¦´ë·Î ÀÌÇØÇØ¾ß¸¸ ÇÑ´Ù. ÀÌÁ¦ ´Ü¼øÈ÷ C++ ¾ð¾îÀÇ È®Àå ¶óÀ̺귯¸®·Î¼°¡ ¾Æ´Ï¶ó C++ ¾ð¾îÀÇ ÇÙ½É ºÎºÐÀ¸·Î¼ STLÀ» ¹Þ¾ÆµéÀ̰í ÁغñÇØ¾ß ÇÑ´Ù. ±×¸®°í, ±× °úÁ¤¿¡¼ ÀÌ Ã¥Àº Å« µµ¿òÀÌ µÇ¾î ÁÙ °ÍÀÌ´Ù.
¾Ë·º»ê´õ ½ºÅׯijëÇÁ(Alexander Stepanov)°¡ ¼¹®À» ¾²°í, µ¥À̺ø ¹Â¼(David Musser)°¡ first author·Î Âü¿©Çß´Ù´Â ÀÌÀ¯¸¸À¸·Îµµ ÃæºÐÈ÷ ÁÖ¸ñÇÒ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Â ÀÌ Ã¥Àº 1996³â¿¡ óÀ½ ÃÊÆÇÀÌ Ãâ°£µÇ¾ú°í, C++ Ç¥ÁØÀÌ È®Á¤µÈ µÚ º¯°æ »çÇ×À» ¹Ý¿µÇÏ¿© 2001³â¿¡¼¾ß Á¦2ÆÇÀÌ ¹ß°£µÇ¾ú´Ù. Ç¥ÁØÀÌ È®Á¤µÈ Áö ¾î´Àµ¡ 3³â ³Ñ°Ô ¼¼¿ùÀÌ Èê·¶À¸³ª, ¾ÆÁ÷±îÁö STLÀ» ½±°í ÀÚ¼¼È÷ ´Ù·é Ã¥À» °í¸£±â¶õ ½±Áö ¾Ê´Ù. ÀÌ Ã¥¿¡´Â STLÀÇ Ã¢½ÃÀÚ°¡ Á÷Á¢ ¼³¸íÇÏ´Â STLÀÇ ¼³°è »ç»ó¿¡ °üÇÑ ³»¿ë°ú ÇÁ·Î±×·¡¹Ö½Ã Âü°íÇÒ ¼ö ÀÖµµ·Ï Ä£ÀýÇÑ ¼³¸íÀÌ °çµé¿©Áø 100¿©°³°¡ ³Ñ´Â ¿¹Á¦, ±×¸®°í ·¹ÆÛ·±½º °¡À̵尡 ¼ö·ÏµÇ¾î ÀÖ¾î, ÇнÀ¼·Î¼ »Ó¸¸ ¾Æ´Ï¶ó, ÄÄÇ»ÅÍ °¡±îÀÌ µÎ°í ÇÊ¿äÇÒ ¶§¸¶´Ù ã¾Æº¼ ¼ö ÀÖ´Â ·¹ÆÛ·±½º·Î¼µµ Ȱ¿ëÀÌ °¡´ÉÇÏ´Ù.
öÇÐÀÚ´Â ¾ð¾î¸¦ ÅëÇØ ¼¼»óÀ» »çÀ¯ÇÏÁö¸¸, ÇÁ·Î±×·¡¸Ó´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ÅëÇØ ÄÄÇ»Å͸¦ »çÀ¯ÇÑ´Ù. ¾Æ¹«ÂÉ·Ï ÀÌ Ã¥À» ÅëÇØ C++ STLÀÌ ÇÁ·Î±×·¡¸Ó ¿©·¯ºÐ¿¡°Ô ¼±»çÇÒ »ç°íÀÇ ÀÚÀ¯·Î¿òÀ» ÇѲ¯ ¸¸³£ÇÒ ¼ö Àֱ⸦ ¹Ù¶õ´Ù.
| ÀÚ·á¸í | µî·ÏÀÏ | ´Ù¿î·Îµå |













