37-2-³ª.¹Ýº¹ÀÚ

C¾ð¾îÀÇ °¡Àå ÇÙ½ÉÀûÀÎ ¹®¹ýÀÌ ¹«¾ùÀ̳Ĵ Áú¹®À» ¹Þ´Â´Ù¸é ´©±¸³ª ÁÖÀú¾øÀÌ Æ÷ÀÎÅ͸¦ ¼±ÅÃÇÒ °ÍÀÌ´Ù. ´Ù¼Ò ³­ÇØÇÏ°í ¹®Á¦Á¡µµ ¸¹±â´Â ÇÏÁö¸¸ C¾ð¾î¸¦ °­·ÂÇÑ ¾ð¾î·Î ¸¸µå´Â ÀÏµî °ø½ÅÀ̱⠶§¹®ÀÌ´Ù. °°Àº ¹æ½ÄÀ¸·Î STLÀÇ °¡Àå ÇÙ½É ¿ä¼Ò°¡ ¹«¾ùÀÌ³Ä°í ¹¯´Â´Ù¸é ¹Ýº¹ÀÚ¶ó°í ´ë´äÇÒ ¼ö ÀÖ´Ù. ¹Ýº¹ÀÚ´Â Æ÷ÀÎÅÍ¿Í ÇÏ´Â ¿ªÇÒÀ̳ª »ç¿ë ¹æ¹ýÀÌ ºñ½ÁÇ쵂 ÈξÀ ´õ ÀϹÝÈ­µÇ¾î ÀÖ¾î ÀÓÀÇÀÇ ÄÁÅ×ÀÌ³Ê¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Ù. STLÀÇ ÀϹݼºÀº ¹Ýº¹ÀÚ¸¦ ÅëÇØ È®º¸µÈ´Ù.

¹Ýº¹ÀÚÀÇ Á¤ÀǸ¦ ³»¸®±â Àü¿¡ ÄÁÅ×À̳ʸ¦ ¼øȸÇÏ´Â ¹æ¹ýÀ» ¸ÕÀú ¿¬±¸ÇØ º¸ÀÚ. ÄÁÅ×À̳ʴ º¹¼ö °³ÀÇ ÀڷḦ ÀúÀåÇÏ´Â ÁýÇÕ¼ÒÀ̹ǷΠÄÁÅ×À̳ʿ¡ ´ëÇØ Ãâ·Â, °Ë»ö, Á¤·Ä, ´ëü µîÀÇ ¿¬»êÀ» ÇÏ·Á¸é ¸ÕÀú °¢ ¿ä¼Ò¸¦ ¼ø¼­´ë·Î ¾×¼¼½ºÇÏ´Â ¼øȸ°¡ ÇÊ¿äÇÏ´Ù. ÄÁÅ×À̳ʿ¡¼­ ÇÑ ¿ä¼Ò¸¦ °Ë»öÇÏ·Á¸é ã´Â ¿ä¼Ò°¡ ¾îµðÂë ÀÖ´ÂÁö ¾Ë±â À§ÇØ ¼ø¼­´ë·Î ÀÐÀ¸¸é¼­ ºñ±³ÇØ¾ß Çϸç Á¤·ÄÀ̳ª º´ÇÕ µîÀº ´õ º¹ÀâÇÑ ¼øȸ¸¦ ÇØ¾ß ÇÑ´Ù.

ÄÁÅ×À̳ʿ¡ °¡ÇØÁú ¼ö ÀÖ´Â ¿©·¯ °¡Áö ¿¬»ê Áß °¡Àå ±âÃÊÀûÀÌ°í °£´ÜÇÑ Ãâ·Â ¿¬»êÀ» ±¸ÇöÇÑ´Ù°í ÇØ º¸ÀÚ. ¹è¿­ÀÇ °¢ ¿ä¼Ò¸¦ Ãâ·ÂÇÏ·Á¸é ÀÏ´Ü ¿ä¼ÒµéÀ» ¸ðµÎ ¹æ¹®Çϸ鼭 ±× °ªÀ» Àоî¾ß ÇÑ´Ù. ¿ä¼ÒµéÀ» ¼ø¼­´ë·Î ¹æ¹®ÇÏ´Â °ÍÀÌ °ð ¼øȸÀÌ´Ù. Å©±â numÀÇ ¹è¿­À» Ãâ·ÂÇÏ´Â ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.

 

void Print(int *ar,int num)

{

     int i;

     for (i=0;i<num;i++) {

          printf("%d\n",ar[i]);

     }

}

 

¹è¿­Àº ÀÓÀÇ Á¢±ÙÀÌ °¡´ÉÇϹǷΠ0ºÎÅÍ ¹è¿­ÀÇ Å©±â Á÷Àü±îÁö ÷ÀÚ¸¦ Áõ°¡½ÃÅ°¸é¼­ [ ] ¿¬»êÀڷΠ÷ÀÚ À§Ä¡ÀÇ ¿ä¼Ò¸¦ Ãâ·ÂÇÏ¸é µÈ´Ù. for ¹®ÀÌ ¹è¿­ Àüü¸¦ ÈÈÀ¸¸é¼­ °¢ ¿ä¼Ò¸¦ ¼øȸÇÏ´Â °úÁ¤¿¡¼­ printf·Î ¿ä¼Ò°ªÀ» Ãâ·ÂÇß´Ù. ¹è¿­°ú for¹®À» ¾È´Ù¸é ¾ÆÁÖ ½±°Ô ÀÌÇصǴ ÄÚµåÀÌ´Ù. ¿¬°á ¸®½ºÆ®ÀÇ °æ¿ìµµ ¼øȸ¸¦ ÇØ¾ß ³ëµåµéÀ» Ãâ·ÂÇÒ ¼ö Àִµ¥ ¼øȸ ¹æ¹ýÀÌ ¹è¿­°ú »ó´çÈ÷ ´Ù¸£´Ù.

 

void Print(Node *head)

{

     Node *Now;

     for (Now=head->next;Now!=tail;Now=Now->next) {

          printf("%d\n",Now->value);

     }

}

 

÷ÀÚ ¿¬»êÀÌ Áö¿øµÇ´Â ¹è¿­Àº ÷ÀÚ¸¦ Áõ°¡½ÃÅ°¸é µÇÁö¸¸ ¿¬°á ¸®½ºÆ®´Â ³ëµåµéÀÌ ¸Þ¸ð¸®ÀÇ ¿©±â Àú±â¿¡ ¸µÅ©·Î ¿¬°áµÇ¾î ÀÖÀ¸¹Ç·Î ¸µÅ©¸¦ ÂÑ¾Æ ´Ù³à¾ß ¸ðµç ³ëµå¸¦ ¼øȸÇÒ ¼ö ÀÖ´Ù. ³ëµå¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ Now¸¦ ¼±¾ðÇÏ°í ÃÖÃÊ head¿¡¼­ ½ÃÀÛÇÏ¿© ´ÙÀ½ ³ëµå¸¦ °Ë»öÇϱ⸦ tail¿¡ À̸¦ ¶§±îÁö ¹Ýº¹Çϸ鼭 Now°¡ °¡¸®Å°´Â ³ëµåÀÇ °ªÀ» Ãâ·ÂÇÏ¿´´Ù.

¹è¿­°ú ¿¬°á ¸®½ºÆ®´Â ³í¸®ÀûÀ¸·Î À¯»çÇÑ ÄÁÅ×À̳ÊÀÓ¿¡µµ ¹°¸®ÀûÀÎ ÀÚ·á ±¸Á¶°¡ Ʋ¸®¹Ç·Î ¼øȸÇÏ´Â ¹æ¹ýÀÌ ¾ÆÁÖ ´Ù¸£´Ù. ±×·¸´Ù¸é ´Ù¸¥ ÄÁÅ×À̳ÊÀÇ °æ¿ì´Â ¾î¶³±î? ¾Æ¸¶ ³»ºÎ ±¸Á¶°¡ ´Ù¸£±â ¶§¹®¿¡ ÄÁÅ×À̳ʺ°·Î ¼øȸ¸¦ ÇÏ´Â ¹æ¹ýÀÌ Á¦°¢°¢ÀÏ °ÍÀÌ´Ù. ¼øȸ ¹æ¹ýÀÌ ÀÌó·³ Ʋ·ÁÁö¸é ¶È°°Àº ÀÛ¾÷À» ÇÏ´Â ÇÔ¼ö¶óµµ Çϳª·Î ÅëÇÕÇÒ ¼ö°¡ ¾ø´Ù. À§ ¿¹ÀÇ Print ÇÔ¼öµµ for·çÇÁ ¾ÈÂÊÀÇ ÄÚµå, Áï ¼øȸ Áß¿¡ ÇÒ ÀÛ¾÷Àº µ¿ÀÏÇѵ¥ ¼øȸ ¹æ¹ýÀÌ Æ²·Á µÎ Print ÇÔ¼ö°¡ °¢°¢ ÇÊ¿äÇÏ´Ù.

Áö¿øÇÏ´Â ÄÁÅ×À̳ÊÀÇ Á¾·ù°¡ C°³ÀÌ°í ±¸ÇöÇÏ°í ½ÍÀº ¾Ë°í¸®ÁòÀÌ A°³ÀÏ ¶§ ¸ðµç ÄÁÅ×À̳ʿ¡ ´ëÇØ ¾Ë°í¸®Áò ÇÔ¼ö¸¦ ÀÏÀÏÀÌ ¸¸µé¾î¾ß ÇϹǷΠ°á±¹ C*A°³ÀÇ ÇÔ¼ö¸¦ °¢°¢ µû·Î ¸¸µé¾î¾ß ÇÑ´Ù. ¼øȸ ¹æ¹ýÀÌ ´Ù¸¦ »ÓÀÌÁö ¾Ë°í¸®Áò ±¸Çö ÄÚµå´Â À¯»çÇϹǷΠ¾Æ¸¶ ÀÌ ÇÔ¼öµéÀÇ ÄÚµå´Â ´ëºÎºÐ Áߺ¹µÉ °ÍÀÌ´Ù. ¾î¶»°Ô ÇÏµç ¼øȸ ¹æ¹ýÀ» ÀϹÝÈ­½ÃÄÑ ³»ºÎ ±¸Á¶¿¡ »ó°ü¾øÀÌ µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ¼øȸÇÒ ¼ö ÀÖ´Ù¸é ¾Ë°í¸®ÁòÀÇ ÀϹݼºÀÌ È®º¸µÇ¾î ¸ðµç ÄÁÅ×À̳ʿ¡ ¾µ ¼ö ÀÖ´Â ¹ü¿ë ¾Ë°í¸®ÁòÀ» ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¼øȸ ¹æ¹ýÀ» ÀϹÝÈ­Çϱâ À§ÇØ STL¿¡¼­ »ç¿ëÇÏ´Â °³³äÀÌ ¹Ù·Î ¹Ýº¹ÀÚÀÌ´Ù. ¾î¶² °æ¿ì¿¡´Â Æ÷ÀÎÅÍ°¡ µÇ±âµµ ÇÏ°í ¾î¶² °æ¿ì¿¡´Â ÷ÀÚ°¡ µÇ±âµµ ÇÏ¸ç ¶Ç ¾î¶² °æ¿ì¿¡´Â ´Ù¼Ò º¹ÀâÇÑ °´Ã¼°¡ ¿ä±¸µÇ±âµµ ÇÑ´Ù. ¹Ýº¹ÀÚ´Â ´ÙÀ½°ú °°Àº ±â´ÉÀ» °¡Áö´Âµ¥ Á¾·ù¿¡ µû¶ó¼­´Â ÀϺΠ±â´ÉÀÌ Á¦¿ÜµÇ±âµµ ÇÑ´Ù.

 

¨ç ÄÁÅ×À̳ÊÀÇ ¿ä¼Ò Çϳª¸¦ °¡¸®Å°´Â ±âº»ÀûÀÎ ¿ªÇÒÀ» ÇÑ´Ù.

¨è °¡¸®Å°´Â ÁöÁ¡ÀÇ ¿ä¼Ò¸¦ ÀÐ°í ¾µ ¼ö ÀÖ´Ù. ³»¿ëÀ» Àд * ¿¬»êÀÚ°¡ Á¤ÀǵȴÙ.

¨é Áõ°¨¿¡ ÀÇÇØ ÁÖº¯ ¿ä¼Ò·Î À̵¿ÇÒ ¼ö ÀÖ´Ù. ++, -- µîÀÇ ¿¬»êÀÚ°¡ Á¤ÀǵȴÙ.

¨ê ¹Ýº¹ÀÚ³¢¸® ´ëÀÔ, ºñ±³ °¡´ÉÇØ¾ß ÇÑ´Ù. ´ëÀÔ, ºñ±³ ¿¬»êÀÚ°¡ Á¤ÀǵȴÙ.

 

Æ÷ÀÎÅÍ´Â À§ 4°¡Áö ±â´ÉÀ» ¸ðµÎ °¡Áö¹Ç·Î ±× ÀÚü·Î ¿Ïº®ÇÑ ¹Ýº¹ÀÚÀÌ¸ç µû¶ó¼­ ¸ðµç STL ¾Ë°í¸®Áò¿¡ Æ÷ÀÎÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÄÁÅ×À̳ʺ°·Î ¿ä¼Ò¸¦ °¡¸®Å°´Â ¹æ¹ýÀº °¢±â ´Ù¸£Áö¸¸ ¹Ýº¹ÀÚ¶ó´Â °³³äÀ» »ç¿ëÇϸé À§ÀÇ ¿ä±¸ »çÇ×À» ¸¸Á·ÇÏ´Â °´Ã¼¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¾Æ¹«Æ° ¹Ýº¹ÀÚ¸¦ »ç¿ëÇϸé CÀÇ Æ÷ÀÎÅÍ°¡ ÇÏ´Â µ¿ÀÛÀ» ÀϹÝÈ­ÇÒ ¼ö ÀÖÀ¸¸ç ±×·¡¼­ ¹Ýº¹ÀÚ¸¦ Æ÷ÀÎÅÍÀÇ ÀϹÝÈ­¶ó°í ÇÑ´Ù. ¹Ýº¹ÀÚ´Â Æ÷ÀÎÅ͸¦ ±×´ë·Î Èä³»³»¹Ç·Î ÀÓÀÇÀÇ ÄÁÅ×À̳ʿ¡ ÀúÀåµÈ ¸ðµç ¿ä¼Ò¸¦ ¼ø¼­´ë·Î °¡¸®Å³ ¼ö ÀÖ´Ù.

¸ðµç ÄÁÅ×À̳ʴ ½ÃÀÛÁ¡°ú ³¡´ÙÀ½Á¡À» Á¶»çÇÏ´Â begin, end ¸â¹ö ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. ³¡ ´ÙÀ½Á¡À̶õ ¹üÀ§ÀÇ °æ°è¸¦ ³Ñ¾î¼± ÁöÁ¡À» ÀǹÌÇϴµ¥ begin¿¡¼­ ½ÃÀÛÇÏ¿© ÀÌ ÁöÁ¡ Á÷Àü±îÁö ¼øȸÇÏ¸é ¸ðµç ¿ä¼Ò¸¦ Â÷·Ê´ë·Î ¹æ¹®ÇÒ ¼ö ÀÖ´Ù. ³¡´ÙÀ½Á¡ÀÇ °³³ä°ú È¿¿ë¼º¿¡ ´ëÇؼ­´Â ´ÙÀ½ Àå¿¡¼­ Á» ´õ »ó¼¼ÇÏ°Ô ´Ù·ç±â·Î ÇÑ´Ù.

¹Ýº¹ÀÚ¿Í ÄÁÅ×À̳ÊÀÇ begin, end ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ¸ðµç ÄÁÅ×À̳ʸ¦ µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ¼øȸÇÒ ¼ö ÀÖ´Ù. ¾Õ¿¡¼­ ¸¸µé¾ú´ø ¹è¿­ Ãâ·Â ¿¹Á¦¸¦ ¹Ýº¹ÀÚ¸¦ »ç¿ëÇÏ¿© ´Ù½Ã ÀÛ¼ºÇØ º¸¸é ´ÙÀ½°ú °°¾ÆÁø´Ù. CÀÇ Á¤Àû ¹è¿­Àº µ¿ÀÏ Å¸ÀÔÀÇ º¯¼ö ÁýÇÕÀ̹ǷΠ±× ÀÚü·Î ÀÌ¹Ì ÄÁÅ×À̳ʶó°í ÇÒ ¼ö ÀÖ´Ù.

 

¿¹ Á¦ : iterarray

#include <iostream>

using namespace std;

 

void main()

{

     int ari[]={1,2,3,4,5};

 

     int *it;

     for (it=&ari[0];it!=&ari[5];it++) {

          printf("%d\n",*it);

     }

}

 

Á¤¼öÇü ¹è¿­À» °¡¸®Å°´Â Æ÷ÀÎÅÍ it¸¦ ¼±¾ðÇÏ°í ¹è¿­ ù ¹ø° ¿ä¼ÒÀÇ ¹øÁö¿¡¼­ ½ÃÀÛÇÏ¿© ³¡´ÙÀ½Á¡ ¿ä¼Ò Á÷Àü±îÁö ¼øȸÇϸ鼭 *it¸¦ Ãâ·ÂÇÏ¸é ¹è¿­ ¿ä¼Ò Àüü°¡ Ãâ·ÂµÈ´Ù. ¿©±â¼­ »ç¿ëµÈ it Æ÷ÀÎÅÍ´Â ¹è¿­ÀÇ ÇÑ ¿ä¼Ò¸¦ °¡¸®Å°¸ç Áõ°¡ÇÏ°í ºñ±³µÇ¸ç *¿¬»êÀÚ·Î ¿ä¼Ò¸¦ Àб⵵ ÇϹǷΠ¹Ýº¹ÀÚÀÇ ¿ä±¸ Á¶°ÇÀ» ¸ðµÎ ¸¸Á·ÇÑ´Ù. ´ÙÀ½Àº º¤ÅÍ¿¡ ´ëÇØ ¹Ýº¹ÀÚ¸¦ Àû¿ëÇØ º¸ÀÚ.

 

¿¹ Á¦ : itervector

#include <iostream>

#include <vector>

using namespace std;

 

void main()

{

     int ari[]={1,2,3,4,5};

     vector<int> vi(&ari[0],&ari[5]);

 

     vector<int>::iterator it;

     for (it=vi.begin();it!=vi.end();it++) {

          printf("%d\n",*it);

     }

}

 

Á¤¼öÇü º¤ÅÍ¿¡ 1~5±îÁöÀÇ Á¤¼ö°ªÀ» ä¿ö ³Ö¾ú´Ù. º¤ÅÍ´Â ´Ù¸¥ ÄÁÅ×À̳ÊÀÇ ¿ä¼Òµé·Î ÀÚ½ÅÀ» ÃʱâÈ­ÇÏ´Â »ý¼ºÀÚ¸¦ Á¦°øÇϴµ¥ ÀÌ »ý¼ºÀÚÀÇ ¹®¹ýÀº ´ÙÀ½¿¡ ¹è¿ì±â·Î ÇÏÀÚ. Á¤¼öÇü º¤ÅÍ vi¿¡´Â ´Ù¼¸ °³ÀÇ Á¤¼ö°¡ »ðÀԵǸç Å©±â´Â 5ÀÌ´Ù. º¤ÅÍÀÇ ÇÑ ¿ä¼Ò¸¦ °¡¸®Å°´Â ¹Ýº¹ÀÚ´Â ´ÙÀ½°ú °°ÀÌ ¼±¾ðÇÑ´Ù.

 

vector<T>::iterator it;

 

vector<T>°¡ Ŭ·¡½º À̸§ÀÌ°í ÀÌ Å¬·¡½º¾È¿¡ iterator¶ó´Â ŸÀÔÀÌ typedef·Î Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ÀÌ Å¸ÀÔÀ¸·Î º¯¼ö¸¦ Çϳª ¼±¾ðÇÏ¸é º¤ÅÍÀÇ ÇÑ ¿ä¼Ò¸¦ °¡¸®Å°´Â ¹Ýº¹ÀÚ°¡ µÈ´Ù. for ·çÇÁ¿¡¼­´Â ¹Ýº¹ÀÚ¸¦ beginÀ¸·Î ÃʱâÈ­ÇÏ°í end Á÷Àü±îÁö ¹Ýº¹ÀÚ¸¦ Áõ°¡½ÃÅ°¸ç º¤ÅÍÀÇ ¸Å ¿ä¼Ò¸¦ ¼øȸÇÏ¿´´Ù. ´ÙÀ½Àº ¿¬°á ¸®½ºÆ®ÀÇ °æ¿ì¸¦ º¸ÀÚ. À§ ¿¹Á¦ÀÇ vector¸¦ list·Î ¹Ù²Ù°í (²À ÇÊ¿äÇÏÁö´Â ¾ÊÁö¸¸)°´Ã¼ÀÇ À̸§À» vi¿¡¼­ li·Î ¹Ù²Ù±â¸¸ ÇÏ¸é µÈ´Ù.

 

¿¹ Á¦ : iterlist

#include <iostream>

#include <list>

using namespace std;

 

void main()

{

     int ari[]={1,2,3,4,5};

     list<int> li(&ari[0],&ari[5]);

 

     list<int>::iterator it;

     for (it=li.begin();it!=li.end();it++) {

          printf("%d\n",*it);

     }

}

 

º¸´Ù½ÃÇÇ º¤ÅÍ¿Í ¼øȸ ¹æ¹ýÀÌ ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù. begin ~ end »çÀ̸¦ ¹Ýº¹ÀÚ°¡ ¼øȸÇÏ¿© *it Ç¥Çö½ÄÀ¸·Î ¼øȸÁßÀÇ ¿ä¼Ò¸¦ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. º¤Åͳª ¸®½ºÆ® ¿ÜÀÇ ´Ù¸¥ ÄÁÅ×À̳ʵ鵵 ¼øȸÇÏ´Â ¹æ¹ýÀº µ¿ÀÏÇÏ´Ù. °¢ ÄÁÅ×À̳ÊÀÇ ³»ºÎ ±¸Á¶´Â »ó´çÈ÷ ´Ù¸£Áö¸¸ ¹Ýº¹ÀÚ¸¦ »ç¿ëÇÏ¸é ¶È°°Àº ¹æ¹ýÀ¸·Î ¼øȸÇÒ ¼ö ÀÖ´Ù.

¹Ýº¹ÀÚ´Â ÄÁÅ×À̳ʸ¦ ¼øȸÇÏ´Â ¹æ¹ý°ú ÄÁÅ×À̳ÊÀÇ ÇÑ ¿ä¼Ò¸¦ ÂüÁ¶ÇÏ´Â ¹æ¹ýÀ» ȹÀÏÈ­ÇÔÀ¸·Î½á ¾Ë°í¸®ÁòµéÀÌ ÄÁÅ×À̳ÊÀÇ ³»ºÎ ±¸Á¶¿¡ ´ëÇØ µ¶¸³¼ºÀ» °¡Áöµµ·Ï ÇÑ´Ù. ¼øȸ ¹æ¹ýÀÌ ÀÏÁ¤ÇÏ´Ù¸é ÇϳªÀÇ ÇÔ¼ö·Î ÀÓÀÇÀÇ ÄÁÅ×À̳ʸ¦ Áö¿øÇÏ´Â ¾Ë°í¸®ÁòÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ°Ô °ú¿¬ °¡´ÉÇÑÁö ¾Õ¼­ ¿¹¸¦ µç Print ÇÔ¼ö¸¦ ÀϹÝÀûÀÎ ¾Ë°í¸®ÁòÀ¸·Î ±¸ÇöÇØ º¸ÀÚ.

 

¿¹ Á¦ : itergeneric

#include <iostream>

#include <vector>

#include <list>

using namespace std;

 

template<typename IT>

void Print(IT s, IT e)

{

     IT it;

     for (it=s;it!=e;it++) {

          printf("%d\n",*it);

     }

}

 

void main()

{

     int ari[]={1,2,3,4,5};

     vector<int> vi(&ari[0],&ari[5]);

     list<int> li(&ari[0],&ari[5]);

 

     Print(&ari[0],&ari[5]);

     Print(vi.begin(),vi.end());

     Print(li.begin(),li.end());

}

 

Print´Â ¹Ýº¹ÀÚ Å¸ÀÔÀ» Àμö·Î ¹Þ¾ÆµéÀÌ´Â ÇÔ¼ö ÅÛÇø´À¸·Î Á¤ÀǵǾî ÀÖ¾î ÀÓÀÇÀÇ ¹Ýº¹ÀÚ Å¸ÀÔÀ¸·Î ±¸Ã¼È­µÉ ¼ö ÀÖ´Ù. PrintÀÇ º»Ã¼´Â IT ŸÀÔÀÇ Áö¿ªº¯¼ö it¸¦ ¼±¾ðÇÏ°í Àμö·Î Àü´ÞµÈ ¹üÀ§ s~e»çÀ̸¦ ¼øȸÇϸç *it·Î ¹Ýº¹ÀÚ°¡ °¡¸®Å°´Â °ªÀ» Àоî Ãâ·ÂÇß´Ù. main¿¡¼­´Â Á¤Àû ¹è¿­, º¤ÅÍ, ¸®½ºÆ® ¼¼ ÄÁÅ×À̳ʿ¡ ´ëÇØ Print ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ÄÁÅ×ÀÌ³Ê Àüü¸¦ Ãâ·ÂÇÑ´Ù. ½ÇÇàÇØ º¸¸é 1~5±îÁöÀÇ ¼ýÀÚ°¡ ¼¼ ¹ø Ãâ·ÂµÉ °ÍÀÌ´Ù.

ÄÁÅ×À̳ʸ¦ Ãâ·ÂÇÏ´Â Print Á¤µµÀÇ °£´ÜÇÑ ÇÔ¼ö µûÀ§´Â Á÷Á¢ ¸¸µé¾î ¾²³ª ÀϹÝÈ­½ÃÅ°³ª º° °¨ÈïÀÌ ¾ø°ÚÁö¸¸ À̺¸´Ù ÈξÀ ´õ º¹ÀâÇÑ µ¿ÀÛÀ» ÇÏ´Â Á¤·Ä, º´ÇÕ µîÀÇ ¾Ë°í¸®ÁòÀ» µü Çϳª¸¸ ¸¸µé¾î ³õ°í µÎ·ç µÎ·ç ¾µ ¼ö ÀÖ´Ù¸é ¸ÚÁö´Ù´Â »ý°¢ÀÌ µé °ÍÀÌ´Ù. ÀÌ ¿¹Á¦¸¦ º¸¸é STLÀÌ °­Á¶ÇÏ´Â ÀϹÝÈ­¶õ ¹«¾ùÀÎÁö ¾î·ÅDzÀÌ °¨ÀÌ ¿Ã °ÍÀÌ´Ù.

¹Ýº¹ÀÚ´Â ÄÁÅ×À̳ʸ¦ ´Ù·ç´Â ±âº»ÀûÀÎ ¹æ¹ýÀÌ´Ù. ÄÁÅ×À̳ʿ¡ ¿ä¼Ò¸¦ »ðÀÔ, »èÁ¦ÇÒ ¶§ ¶Ç´Â °Ë»öÇÑ °á°ú¸¦ ¸®ÅÏÇÒ ¶§ ¹Ýº¹ÀÚ°¡ ÇÊ¿äÇÏ´Ù. STLÀÇ ¸ðµç ÇÔ¼öµéÀº ÄÁÅ×À̳ʳ»ÀÇ À§Ä¡¸¦ ĪÇÒ ¶§ ¹Ýº¹ÀÚ¸¦ »ç¿ëÇÏ¸ç °Ë»ö °á°ú¸¦ º¸°íÇÒ ¶§µµ ¹Ýº¹ÀÚ¸¦ »ç¿ëÇÑ´Ù. ¹Ýº¹ÀÚ´Â ÀÓÀÇÀÇ ÄÁÅ×ÀÌ³Ê¿Í ¾Ë°í¸®ÁòÀÌ ¼­·Î¸¦ ¸ô¶óµµ °°ÀÌ µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï À̾îÁÖ´Â ¸Å°³Ã¼ ¿ªÇÒÀ» ÇÑ´Ù.

¿©±â¼­´Â ¹Ýº¹ÀÚÀÇ °³³ä¸¸ Á÷°¨ÀûÀ¸·Î ÀÌÇØÇϱâ·Î ÇÑ´Ù. ¹Ýº¹ÀÚ¶ó´Â ¿ë¾îÀÇ Á¤È®ÇÑ ÀÇ¹Ì¿Í ³¡´ÙÀ½Á¡ÀÇ °³³ä, ¿Ö ¹Ýº¹ÀÚ³¢¸® ºñ±³ÇÒ ¶§ != ¿¬»êÀ¸·Î ºñ±³¸¦ ÇÏ´ÂÁö µî¿¡ ´ëÇؼ­´Â ´ÙÀ½ Àå¿¡¼­ Á» ´õ »ó¼¼ÇÏ°Ô ´Ù·ç±â·Î ÇÏÀÚ.