37-1-³ª.STLÀÇ Æ¯Â¡

ÀϹÝÈ­ ÇÁ·Î±×·¡¹Ö ±â¹ýÀÇ ¿ª»çµµ ªÁö´Â ¾ÊÁö¸¸ ±¸Á¶È­³ª °´Ã¼ ÁöÇâ¿¡ ºñÇؼ­ ¼¼ÀεéÀÇ ÁÖ¸ñÀ» ¹Þ±â ½ÃÀÛÇÑÁö´Â ¾ó¸¶ µÇÁö ¾Ê¾Ò´Ù. ÀϹÝÈ­´Â ´Ù¸¥ ±â¹ýµé°ú´Â ¶Ñ·ÇÀÌ ±¸ºÐµÇ´Â ¿©·¯ °¡Áö Ư¡µéÀ» °¡Áö°í ÀÖ´Ù. ÀÌ Æ¯Â¡°ú Àå´ÜÁ¡¿¡ ´ëÇØ Á¤¸®ÇØ º¸ÀÚ.

 

¨ç °¡Àå Å« Ư¡Àº ¿ª½Ã À̸§ÀÌ ÀǹÌÇϵíÀÌ ÀϹÝÈ­¸¦ Áö¿øÇÑ´Ù´Â Á¡ÀÌ´Ù. ÇϳªÀÇ ´ÜÀÏ ¾Ë°í¸®ÁòÀ¸·Î º¹¼ö °³ÀÇ ÄÁÅ×À̳ʿ¡ µ¿ÀÏÇÑ ÀÛ¾÷À» ¶È°°Àº ¹æ¹ýÀ¸·Î ¼öÇàÇÒ ¼ö ÀÖ´Ù. ¾ÆÁ÷ ÀϹÝÈ­ÀÇ Àǹ̸¦ Á÷°¨ÀûÀ¸·Î ÆľÇÇϱâ´Â ¾î·Æ°ÚÁö¸¸ ÀÚ·á ±¸Á¶¸¶´Ù Á¶ÀÛ ¹æ¹ýÀÌ Æ¯¼öÇÑ ±â¹ý°ú ¹Ý´ëÀÇ Àǹ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù.

¨è ÄÄÆÄÀÏ Å¸ÀÓ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇϱ⠶§¹®¿¡ ½ÇÇà½ÃÀÇ È¿À² ÀúÇÏ°¡ °ÅÀÇ ¾ø´Ù. STLÀ» ¾²Áö ¾Ê¾ÒÀ» ¶§ÀÇ Äڵ忡 ºñÇØ Çö°ÝÇÑ ¼Óµµ Â÷ÀÌ°¡ ¾øÀ¸¸ç ¾î¶² °æ¿ì´Â ¿ÀÈ÷·Á ´õ ºü¸£±âµµ ÇÏ´Ù. ±×·¯³ª °í¼öÁØ ¶óÀ̺귯¸®ÀÇ Æ¯¼º»ó Á¦´ë·Î ¾µ ¶§¸¸ ÀÌ»óÀûÀÎ È¿À²ÀÌ ¹ßÈֵȴٴ Á¦¾àµµ Á¸ÀçÇÑ´Ù.

¨é °´Ã¼ ÁöÇâÀûÀÌÁö ¾Ê´Ù. °´Ã¼¸¦ »ç¿ëÇϱâ´Â ÇÏÁö¸¸ STL ÀÚü°¡ °´Ã¼¸¦ ¹Ýµå½Ã ¿ä±¸ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¾Ë°í¸®Áò ÇÔ¼öµéÀº ´ëºÎºÐ Àü¿ª ÇÔ¼öÀÌ¸ç ¸â¹ö ÇÔ¼ö·Î Á¦°øµÇ´Â °æ¿ì´Â »ó´ëÀûÀ¸·Î µå¹°´Ù. »ó¼ÓÀÇ °³³äµµ ¸¹ÀÌ »ç¿ëÇÏÁö ¾ÊÀ¸¸ç µ¿Àû °áÇÕÇÏ´Â °¡»ó ÇÔ¼ö´Â ´À¸®´Ù´Â ÀÌÀ¯·Î »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¸ðµç ¼±ÅÃÀº ÄÄÆÄÀÏ Áß¿¡ Á¤ÀûÀ¸·Î °áÁ¤µÈ´Ù.

¨ê Ç¥ÁØÀ̹ǷΠÀ̽ļºÀÌ ´ç¿¬È÷ È®º¸µÈ´Ù. STL·Î ÀÛ¼ºÇÑ ÄÚµå´Â Ç¥ÁØÀ» ÁؼöÇÏ´Â ¾î¶°ÇÑ ÄÄÆÄÀÏ·¯·Îµµ ¹®Á¦¾øÀÌ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. ¾ÆÁ÷±îÁö ¸ðµç ÄÄÆÄÀÏ·¯µéÀÌ Ç¥ÁØÀ» Á¦´ë·Î ÁöÅ°Áö ¾ÊÀ¸¹Ç·Î ÀϽÃÀûÀÎ À̽ļºÀÇ ¹®Á¦°¡ ÀÖ±â´Â ÇÏÁö¸¸ ¸ðµç ÄÄÆÄÀÏ·¯°¡ Ç¥ÁØÀ» ¿Ïº®È÷ ÁؼöÇÏ´Â ¹Ì·¡¿¡´Â ¿ÏÀüÇÑ À̽ļºÀÌ È®º¸µÉ °ÍÀÌ´Ù.

¨ë È®Àå °¡´ÉÇÏ´Ù. ¼Ò½º°¡ °ø°³µÇ¾î ÀÖÀ¸¹Ç·Î STL ¶óÀ̺귯¸®¸¦ ºÐ¼®ÇÏ¿© ¿øÇÏ´Â ÄÁÅ×ÀÌ³Ê¿Í ¾Ë°í¸®ÁòÀ» Á÷Á¢ ÀÛ¼ºÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ç¥ÁØ¿¡ ¾ø´Â ¿ä¼ÒµéÀÌ Á¦ 3 ÀÚ¿¡ ÀÇÇØ È®ÀåµÈ ¿¹´Â ¾ÆÁÖ ¸¹À¸¸ç ÀÌ Áß ÀϺδ ¼º´ÉÀÌ ¿ì¼öÇؼ­ ´ÙÀ½ Ç¥ÁØ¿¡ äÅÃµÉ °¡´É¼ºÀÌ ³ô´Ù.

 

ÀÌ·± ÀåÁ¡µéÀº ¶óÀ̺귯¸® Á¦ÀÛÀÚ¿Í ±× ÃßÁ¾Àڵ鿡 ÀÇÇØ ÁÖÀåµÇ´Â °ÍÀε¥ ÀåÁ¡¸¸ ÀÐ¾î º¸¸é ¸¶Ä¡ ¼¼»ó¿¡¼­ ÃÖ°íÀÇ ¶óÀ̺귯¸®ÀÎ °Íó·³ º¸ÀδÙ. ÈǸ¢ÇÑ ¶óÀ̺귯¸®ÀÎ °ÍÀº ºÐ¸íÇÏÁö¸¸ ´ÜÁ¡µµ ¸¸¸¸Ä¡ ¾Ê´Ù. ´ÙÀ½Àº ¸¹Àº »ç¶÷µé¿¡ ÀÇÇØ ÈçÈ÷ ÁöÀûµÇ´Â ´ÜÁ¡ ¶Ç´Â STLÀÌ ´ëÁßÈ­µÇ±â ¾î·Á¿î ÀÌÀ¯ÀÌ´Ù.

 

¨ç ÅÛÇø´¿¡ ±â¹ÝÇϱ⠶§¹®¿¡ ŸÀÔ¸¶´Ù ÇÔ¼ö¿Í Ŭ·¡½º°¡ ¸Å¹ø ±¸Ã¼È­µÇ¾î Äڵ尡 ºñ´ëÇØÁö´Â °íÁúÀûÀÎ ¹®Á¦°¡ ÀÖ´Ù. ¿ÏÀüÈ÷ ¶È°°Àº ÄÁÅ×ÀÌ³Ê¶óµµ Å¸ÀÔÀÌ ¹Ù²î¸é µÎ ¹úÀÇ °Å´ëÇÑ ÄÚµå ÁýÇÕÀÌ µû·Î »ý¼ºµÈ´Ù. ¹°·Ð ¿äÁò°°ÀÌ Ç³ºÎÇÑ ¸Þ¸ð¸® ȯ°æ¿¡¼­ ÀÌ´Â º° ¹®Á¦°¡ ¾ÈµÉ ¼öµµ ÀÖÁö¸¸ ³¶ºñÀÇ Á¤µµ°¡ Á» ½ÉÇÑ ÆíÀÌ´Ù. ±Ø´ÜÀûÀ¸·Î Ç¥ÇöÇÏÀÚ¸é ¾à°£ÀÇ ¼Óµµ Çâ»óÀ» À§ÇØ Å©±â´Â ¾Æ¿¹ ¿ÏÀüÈ÷ Æ÷±âÇÑ ¼ÀÀÌ´Ù.

¨è STL·Î ÀÛ¼ºÇÑ ÄÚµå´Â °¡µ¶¼ºÀÌ ½ÉÇÏ°Ô ¶³¾îÁø´Ù. ÅÛÇø´ ÀÚü°¡ Àͼ÷Ä¡ ¾ÊÀº ¹®¹ýÀε¥´Ù ÅÛÇø´ Ŭ·¡½ºÀÇ Å¸ÀÔ¸íÀÌ ±æ¾î ¾ó¸¥ Àǹ̸¦ ÆľÇÇϱ⠾î·Æ´Ù. °Ô´Ù°¡ ÀÌÁß »ïÁßÀ¸·Î ÅÛÇø´ÀÌ ÁßøµÇ¸é ¸¸µç »ç¶÷Á¶Â÷µµ °ÅÀÇ Çؼ® ºÒ°¡´ÉÇÒ Á¤µµ´Ù. ¼Ò½ºÀÇ °¡µ¶¼ºµµ ¹®Á¦Áö¸¸ ¿¡·¯ ¸Þ½ÃÁöµµ Àǹ̸¦ Çؼ®Çϱ⠽±Áö ¾Ê´Ù. ¼Ò½º°¡ ³­ÇØÇϱ⠶§¹®¿¡ ÆÀ ÇÁ·ÎÁ§Æ®¿¡ ºÒ¸®ÇÏ¸ç µð¹ö±ëµµ ¾î·Æ°í À¯Áö º¸¼ö ºñ¿ëÀÌ Áõ°¡ÇÑ´Ù.

¨é ¹è¿ì±â¿¡ °áÄÚ ½±Áö ¾Ê´Ù. C++ ¹®¹ýÀ» ¾î´À Á¤µµ Å͵æÇÑ »ç¶÷À̶ó¸é STLÀÇ Àüü °³¿ä¸¦ º¸´Âµ¥ ÀÏÁÖÀÏÀ̸é Á·ÇÏ´Ù. ±×·¯³ª ´Ü¼øÈ÷ ¾Æ´Â Á¤µµ°¡ ¾Æ´Ï¶ó Àͼ÷ÇÏ°Ô »ç¿ëÇÏ·Á¸é ¹Ý³â Á¤µµ°¡ ¼Ò¿äµÈ´Ù. ±¸Á¶¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ÀÌÇØ°¡ ÇÊ¿äÇϸç ÃÖ¼ÒÇÑ ÇÑ ¹ø¾¿Àº »ç¿ëÇØ ºÁ¾ß ÀڽۨÀÌ ºÙ´Â´Ù. °Ô´Ù°¡ ÇÔÁ¤µµ ¸¹°í À߸ø ÀÌÇØÇÏ¸é ¾ÈÁ¤¼º±îÁö À§ÇùÇϹǷΠ¹è¿ì·Á¸é È®½ÇÈ÷ Á¤¼®´ë·Î ¹è¿ö¾ß ÇÑ´Ù. Àͼ÷ÇØÁö¸é »ý»ê¼º Çâ»ó¿¡´Â Å©°Ô ±â¿©ÇÏÁö¸¸ ½±°Ô ¹è¿ö¼­ ±Ý¹æ È°¿ëÇÒ ¼ö ÀÖ´Â ¶óÀ̺귯¸®´Â ¾Æ´Ï´Ù. Áï, °øÂ¥´Â ¾Æ´Ï¶ó´Â ¾ê±â´Ù.

 

°Ô´Ù°¡ ÅÛÇø´Àº C++ÀÇ ¿¹¿Ü ó¸®¿Í Àß ¸ÂÁö ¾Ê¾Æ ÀÌ µÑÀ» °°ÀÌ »ç¿ëÇÏ´Â °ÍÀº ´ë´ÜÈ÷ ¾î·Æ´Ù. ÇÏÁö¸¸ STL¿¡ ÀÌ¹Ì ±¸ÇöµÇ¾î ÀÖ´Â ÄÁÅ×ÀÌ³Ê¿Í ¾Ë°í¸®ÁòÀº °³¹ßÀڷμ­ ŽÀ» ³»Áö ¾ÊÀ» ¼ö ¾øÀ» Á¤µµ·Î ¸Å·ÂÀûÀ̸ç ÀÏ´Ü Àͼ÷ÇØÁö¸é »ý»ê¼ºÀÌ ´«¿¡ ¶ç°Ô Áõ°¡ÇÏ´Â °ÍÀº ºÐ¸íÇÑ »ç½ÇÀÌ´Ù. µ¿Àû ¹è¿­, ¿¬°á ¸®½ºÆ®, ½ºÅà °°Àº ÀÚ·á ±¸Á¶³ª Á¤·Ä, °Ë»ö, ´ëü µûÀ§ÀÇ ´Ã»ó ¾²´Â ¾Ë°í¸®ÁòÀ» °øÂ¥·Î ¾µ ¼ö ÀÖ´Ù´Ï ÀÌ À¯È¤À» ¾îÂî ¸¶´ÙÇÒ ¼ö Àְڴ°¡?

ÀÌ·¸°Ô ¸Å·ÂÀûÀÎ ¶óÀ̺귯¸®ÀÓ¿¡µµ ºÒ±¸ÇÏ°í STLÀÌ ¾ÆÁ÷±îÁöµµ ±×¸®°í ¾ÕÀ¸·Îµµ ´ëÁßÈ­µÇ´Âµ¥ ¾î·Á¿òÀÌ ÀÖ´Â ±Ùº»ÀûÀÎ ¿øÀÎÀº ´ëü¹°ÀÌ ³Ê¹« ¸¹´Ù´Â °ÍÀÌ´Ù. STL ÀÌÀü¿¡ °³¹ßÀÚµéÀº °øÂ¥·Î ¾µ ¼ö ÀÖ´Â ¸¹Àº ÄÁÅ×ÀÌ³Ê¿Í ¾Ë°í¸®ÁòµéÀ» Àßµµ ±¸Çؼ­ ¾²°í ÀÖ¾ú´Ù. ±× ´ëÇ¥ÀûÀÎ ¿¹°¡ ¹Ù·Î MFCÀε¥ ÀÌ ¾È¿¡´Â STLÀÇ ÄÁÅ×À̳ʸ¦ ´ëüÇÒ ¼ö ÀÖ´Â µ¿Àû ¹è¿­, ¿¬°á ¸®½ºÆ® µéÀÌ Àß ÀÛ¼ºµÇ¾î ÀÖÀ¸¸ç ¼º´ÉÀ̳ª ½Å·Ú¼ºÀÌ ÀÌ¹Ì È®º¸µÇ¾î ÀÖ´Ù.

 

STLÀÇ ¿ä¼Ò

MFCÀÇ ´ëü ¿ä¼Ò

vector

CArray

list

CList

map

CMap

 

¼ö¸¹Àº °³¹ßÀÚ°¡ ÀÌ¹Ì MFC ¶Ç´Â ±×¿Í À¯»çÇÑ ¶óÀ̺귯¸®¿¡ Àͼ÷ÇØÁ® Àֱ⠶§¹®¿¡ ±× ´ëü¹°ÀÎ STLÀ» ¹Ýµå½Ã ¹è¿ö¾ß ÇÒ ÇÊ¿ä°¡ ¾ø´Â °ÍÀÌ´Ù. STLÀÌ ¾Æ´Ï°í¼­´Â µµÀúÈ÷ ºÒ°¡´ÉÇÑ ±×·± °ÍÀº ¾øÀ¸¸ç STL¾øÀ̵µ Áö±Ý±îÁö Àß »ì¾Æ¿Ô´Ù´Â °ÍÀÌ´Ù. »ç¶÷µéÀÇ ½À°üÀº Á¤¸» ¹«½Ã ¹«½ÃÇؼ­ ÇÑ ¹ø ÀÍÈù °ÍÀÌ Å« ¹®Á¦°¡ ¾øÀ¸¸é °è¼Ó ±× ±â¼ú¸¸ °íÁýÇϱ⠸¶·ÃÀÌ´Ù.

¾ÕÀ¸·Î´Â ¾ð¾îÀÇ Ç¥ÁØ ¶óÀ̺귯¸®ÀÎ STLÀÌ Á¡Á¡ ±× ÀÔÁö¸¦ ³ÐÇô°¡¸®¶ó ¿¹»óµÇÁö¸¸ ÇöÀç »óȲÀº STL¿¡ ´ëÇØ ±×´ÙÁö ±àÁ¤ÀûÀÌÁö¸¸Àº ¾Ê´Ù. ±×·¸´Ù¸é °øºÎ¸¦ ÇÏ°í ÀÖ´Â ¿ì¸®´Â STL¿¡ ´ëÇØ ¾î¶² ÀÔÀåÀ» °¡Á®¾ß ÇÒ±î? ÀÌ ¶óÀ̺귯¸®¸¦ ¾µ °ÍÀΰ¡ ¾Æ´Ñ°¡´Â °³ÀÎÀÇ ÃëÇâ¿¡ µû¸¥ ¼±ÅÃÀÇ ¹®Á¦ÀÏ »ÓÀ̹ǷΠ»ç¿ë ¿©ºÎ¸¦ °­Á¦ÇÒ ¼ö´Â ¾ø´Ù.

±×·¯³ª ¹è¿ï °ÍÀΰ¡ ¾Æ´Ñ°¡´Â ÀÌÁ¦ ´õ ÀÌ»ó ¼±ÅÃÀÇ ¹®Á¦°¡ ¾Æ´Ï¶ó ÇʼöÀÌ´Ù. º° Çʿ並 ´À³¢Áö ¾Ê´Â´Ù ÇÏ´õ¶óµµ ÆÀ ³»¿¡¼­ ÀÌ¹Ì ¾²´Â »ç¶÷ÀÌ ÀÖ´Ù¸é ¿øÈ°ÇÑ Çùµ¿ ÀÛ¾÷À» À§ÇØ ÆÀ¿øÀÌ ¸¸µç ¼Ò½º¸¦ ÃÖ¼ÒÇÑ ÀÐÀ» ¼ö´Â ÀÖ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ Ãµ½Å¸¸°í ³¡¿¡ ±¸ÇÑ ±ÍÁßÇÑ ¼Ò½º°¡ STL·Î µÇ¾î ÀÖ´Ù¸é ÀÌ ¶ÇÇÑ ÇÇÇÒ ¼ö ¾ø´Â °ÍÀÌ´Ù. ´õºÒ¾î »ç´Â ¼¼»ó¿¡¼­ ÃÖ¼ÒÇÑ °³¿ä¶óµµ °øºÎÇØ ³õÀ» ÇÊ¿ä°¡ ÀÖÀ¸¸ç ÀÚü °ËÅ並 ÇÑ ÈÄ¿¡ »ç¿ë ¿©ºÎ¸¦ °áÁ¤ÇÏ´Â °ÍÀÌ ÇÕ¸®ÀûÀÌ´Ù.

¼³»ç ½Ç¿ëÀûÀÎ ¸é¿¡¼­ º° ÇÊ¿ä°¡ ¾ø´Ù ÇÏ´õ¶óµµ STLÀº ÇмúÀûÀ¸·Î ±²ÀåÈ÷ Å« Àǹ̸¦ °¡Áö°í ÀÖ´Ù. ¾îµð¿¡³ª µÎ·ç ¾²ÀÏ ¼ö ÀÖ°í ÀϹݼº°ú À̽ļºÀ» È®º¸Çϸ鼭µµ ¼º´ÉÀ» ÀÒÁö ¾Ê´Â °í±Þ ±â¹ýµéÀÌ STL¿¡ °í½º¶õÈ÷ ´ã°Ü ÀÖ´Ù. ±× ¶È¶ÈÇÑ »ç¶÷µéÀÌ ¸ð¿©¼­ 20³âµ¿¾È ´Ùµë°í °ü¸®ÇÏ°í ½Ç¹«¿¡¼­ °ËÁõ±îÁö °ÅÄ£ ¼Ò½º¶ó´Â Á¡À» »ý°¢ÇØ º¸¸é ÀÌ ¸¸Å­ ÁÁÀº ¿¬±¸ ´ë»óµµ ¾ø´Â ¼ÀÀÌ´Ù. C++À» ÁøÁ¤ ±íÀÌÀÖ°Ô ¿¬±¸ÇØ º¸°í ½Í´Ù¸é STLÀ» ¿¬±¸ÇØ º¸ÀÚ.

STLÀÌ C++ÀÇ Ç¥ÁØÀÌ µÈ ÀÌ»ó, ±×¸®°í ½ÇÁ¦ ÇÁ·Î±×·¡¹Ö¿¡ »ç¿ëµÇ°í ÀÖ´Â ÀÌ»ó STL ÇнÀÀº Çʼö ÄÚ½ºÀÓÀÌ ºÐ¸íÇÏ´Ù. ±×·¯³ª ¿ì¼± ¼øÀ§´Â Á¶±Ý ³·°Ô Àâ¾Æµµ »ó°ü¾ø´Ù. STLÀº ±â¹ý ÀÚü°¡ °í±Þ½º·¯¿ö ¼±¼ö °ú¸ñÀÌ ±²ÀåÈ÷ ¸¹Àº ±â¼úÀÌ´Ù. C/C++ ¾ð¾î¿¡ ´ëÇÑ ±íÀº ÀÌÇØ´Â ¹°·ÐÀÌ°í ÀÚ·á ±¸Á¶, ¾Ë°í¸®Áò¿¡ ´ëÇÑ ±âº»ÀûÀÎ °³³äÀÌ ÀÖ¾î¾ß STLÀ» Á¦´ë·Î °øºÎÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ¾ÆÁ÷ C++·Î ÇÁ·ÎÁ§Æ®¸¦ ÇÑ ¹øµµ ÇØ º» ÀûÀÌ ¾ø´Ù¸é C++ ¹®¹ý¿¡ Á» ´õ Àͼ÷ÇØÁø ÈÄ¿¡ STLÀ» ÇнÀÇÏ´Â °ÍÀÌ ÁÁ´Ù.