<< C++ÀÌ C¿Í ´Þ¶óÁø Á¡ >> ¡Ø C¿¡¼­´Â °ÅÀÇ ´ëºÎºÐ ¸¦ Æ÷ÇÔ½ÃÄ×¾úÀ¸³ª, C++¿¡¼­´Â À» »ç¿ëÇÑ´Ù. ¡Ø ÀÔÃâ·ÂÇÔ¼ö·Î ¾Ö¿ëµÇ´ø printf(), scanf()´ë½Å cout, cinµîÀÇ °´Ã¼¸¦ ÁÖ·Î »ç¿ëÇÑ´Ù. 1. ÇÔ¼öÀÇ ¼±¾ð½Ã¿¡ ÇÁ·ÎÅäŸÀÔ±îÁö ¹Ýµå½Ã ¼±¾ðÇØÁà¾ß ÇÑ´Ù. 2. ÇÔ¼öÀÇ ¼±¾ð½Ã¿¡ ¸Å°³º¯¼ö(°¡Àμö)ÀÇ »ý·«ÀÌ ºÒ°¡´ÉÇÏ´Ù. - 1,2¹øÀº µÚ¿¡ ¾ê±âÇÒ ´ÙÇü¼ºÀ» ½ÇÇöÇϱâ À§Çؼ­ÀÌ´Ù. 3. CÀÇ È®ÀåÀÚ´Â *.CÀÎ °Í¿¡ ºñÇؼ­, C++ÀÇ È®ÀåÀÚ´Â *.CPP¸¦ »ç¿ëÇÑ´Ù. (ÄÄÆÄÀÏ·¯°¡ *.CPPÀÇ ÆÄÀÏ¿¡ ´ëÇؼ­´Â C++¸¸ÀÇ ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÑ´Ù.) << C++ÀÌ Cº¸´Ù ³ª¾ÆÁø Á¡ >> 1. ÇÔ¼öÀÇ ¸Ó¸´ºÎ°¡ ¾Æ´Ñ Áß°£¿¡¼­µµ º¯¼öÀÇ ¼±¾ðÀÌ °¡´ÉÇÏ´Ù. - ÀϹÝÀûÀ¸·Î ¹Ù¶÷Á÷ÇÏÁö´Â ¾ÊÁö¸¸ for¹®µîÀÇ Á¦¾î¹®À» µ¹¸®´Â º¯¼öµî ¿¡¼­ À¯¿ëÇÏ°Ô ¾²ÀδÙ. - ±×·¯³ª, ÀçÁ¤ÀÇ´Â ºÒ°¡´ÉÇÏ´Ù. ex) for(int i=0;i #include void outchar(int x,int y,char c='D',int count=4); main() { clrscr(); outchar(10,10,'S',5); <- (10,10)¿¡ 'S'¸¦ 5¹ø Ãâ·ÂÇÑ´Ù. outchar(20,20,'T'); <- (20,20)¿¡ 'T'¸¦ 3¹ø Ãâ·ÂÇÑ´Ù. outchar(10,20); <- (10,20)¿¡ 'D'¸¦ 4¹ø Ãâ·ÂÇÑ´Ù. } void outchar(int x,int y,char c,int count) { int i; for (i=1; i<=count; i++) { gotoxy(x+i,y); cout << c; } <- printf()ÇÔ¼ö ´ë½Å ¾²ÀÌ´Â °´Ã¼(object)ÀÌ´Ù. } putch(c),printf("%c",c)ÇÏ°í °°´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. - µðÆúÆ® Àμö¿¡ ÀÇÇؼ­ ÁöÁ¤µÈ Àμö´Â »ý·«ÀÌ °¡´ÉÇϸç, »ý·«ÇÒ ¶§´Â ¹Ýµå½Ã! µÚ¿¡¼­ºÎÅÍ Â÷·Ê·Î »ý·«ÀÌ °¡´ÉÇÏ´Ù. outchar(5,5,,6); ©ä outchar(5,5,'A',6); ©Û outchar(5,5);©Û 4. inlineÇÔ¼ö - ¸ÅÅ©·ÎÇÔ¼ö¿Í ±×³É ÇÔ¼öÀÇ Áß°£ÀûÀÎ ¼º°ÝÀ» ¶í ÇÔ¼öÀÌ´Ù. (inlineÀ̶ó´Â ¿¹¾à¾î¸¦ »ç¿ëÇÑ´Ù.) - ÀϹÝÀûÀÎ ÇÔ¼ö¸¦ »ç¿ëÇϸé ÇÊ¿äÇÒ ¶§¸¶´Ù È£ÃâÇÏ¿© »ç¿ëÇϹǷΠ½ÇÇàÆÄÀÏÀÇ Å©±â¸¦ ÁÙÀÏ ¼ö ÀÖÀ¸³ª, Á¦¾î±ÇÀÇ À̵¿ÀÌ ½ÉÇϹǷΠ½ÇÇà ¼Óµµ°¡ ´À·ÁÁø´Ù. - ¸ÅÅ©·Î ÇÔ¼ö´Â ÄÄÆÄÀϽà Àü°³µÇ¾î ġȯµÇ¹Ç·Î Á¦¾î±Ç À̵¿ÀÌ ¹ß»ýÇÏ Áö ¾ÊÀ¸¹Ç·Î ¼Óµµ°¡ ºü¸£Áö¸¸ µ¥ÀÌÅÍÇü ÁöÁ¤À» ÇÒ ¼ö°¡ ¾ø°í ½ÇÇàÆÄ ÀÏÀÇ ¿ë·®ÀÌ Ä¿Áö°Ô µÈ´Ù. -> ÀζóÀÎ ÇÔ¼ö´Â ÄÄÆÄÀϽà Åë°·Î ¸ÅÅ©·Îó·³ Àü°³µÇ¾î ¼Óµµ¸é¿¡¼­ Å« À̵æÀ» ¾ò´Â´Ù. ±×¸®°í, µ¥ÀÌÅÍÇü üũ¸¦ ÇÒ ¼ö ÀÖ´Â ÇÔ¼öÀÌ´Ù. ¿ë·®ÀÌ Ä¿Áö´Â ´ÜÁ¡ÀÌ ÀÖ±ä ÇÏÁö¸¸ °£´ÜÇÑ ÀÛ¾÷À» ÇÏ´Â ÇÔ¼öÀÇ °æ¿ì ¿¡ ÀÌ¿ëÇÏ¸é ¸Å¿ì Æí¸®ÇÏ´Ù. # ÀζóÀÎ ÇÔ¼öÀÇ Á¦¾àÁ¶°Ç ¨ç ÀζóÀÎÇÔ¼ö³»¿¡¼­´Â ·çÇÁ¹®(do whie,while,for),switch,goto¹®À» »ç¿ëÇÒ¼ö ¾ø´Ù. ¨è ÀζóÀÎÇÔ¼öÈ£Ãâ½Ã È£ÃâµÇ±âÀü¿¡ ¸ÕÀú ÀζóÀÎÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖ¾î¾ß ÇÑ´Ù. ¨é ÀζóÀÎÇÔ¼ö³»¿¡¼­ Àç±ÍÈ£ÃâÀ» ÇÒ¼ö¾ø´Ù. ¨ê ÀζóÀÎÇÔ¼ö´Â ÇѼö½Ä³»¿¡¼­ µÎ¹øÀÌ»ó È£ÃâµÉ¼ö ¾ø´Ù. ¨ë ÇÔ¼öÆ÷ÀÎÅÍ·Î ÀζóÀÎÇÔ¼öÀÇ ÁÖ¼Ò¸¦ ÃëÇÒ¼ö ¾ø´Ù. -> ÀζóÀÎ ÇÔ¼ö´Â È£Ãâ¹æ½ÄÀÌ ¾Æ´Ï¶ó ġȯÀü°³¹æ½ÄÀ̱⶧¹®ÀÌ´Ù. °£´ÜÈ÷ Á¤¸®Çغ¸¸é.. [1] ÀϹÝÇÔ¼ö -> ÇÔ¼öº»Ã¼ÀÇ Å©±â°¡ È£ÃâÀýÂ÷º¸´Ù ±æ¶§, ¼Ò½º»ó¿¡¼­ ¿©·¯¹ø È£ÃâµÉ¶§ [2] ÀζóÀÎÇÔ¼ö -> È£ÃâÀýÂ÷º¸´Ù º»Ã¼ÀÇ ±æÀÌ°¡ ªÀ»¶§, ·çÇÁ¹®¾È¿¡¼­ ÇÔ¼öÈ£Ãâ½Ã ¼Óµµ¸¦ ³ôÀ̱âÀ§ÇØ, ¼Ò½º»ó¿¡¼­ ÇÔ¼öÈ£ÃâÀÌÀûÀ» °æ¿ì [3] ¸ÅÅ©·ÎÇÔ¼ö -> ÀÎÀÚÀÇ Çüüũ°¡ ºÒÇÊ¿äÇÒ¶§ ÀζóÀÎÇÔ¼ö¸¦ ½á¾ßÇϳª C¿ÍÀÇ È£È¯¼ºÀ» ÇÊ¿ä·Î ÇÒ¶§ ex) #indlude inline int hap(int x, int y) { return (x+y) } void main(void) { cout << hap(3,7) << endl; (endlÀº printf¿¡¼­ \n°ú °°Àº ¿ªÇÒ) } 5. ÁÖ¼®¹® /* ~ */ ´ë½Å 1ÁÙÂ¥¸® ÁÖ¼®¹®¿¡ ´ëÇؼ­´Â //¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç À¯È¿¹üÀ§´Â ÇàÀÌ ³¡³¯ ¶§±îÁöÀÌ´Ù. 6. ±¸Á¶Ã¼, enumÀÇ Å±×(tag)ÀÇ ÀÌ µ¥ÀÌÅÍ ÇüÀÌ µÈ´Ù. ¿¹¸¦ µé¾îº¸¸é.. struct ACCESS { int a; char b; } ÀÌ·¯ÇÑ ±¸Á¶Ã¼°¡ ÀÖ´Ù°í ÇßÀ» ¶§, struct ACCESS var; C¿¡¼­ ÀÌ·¯ÇÑ Çü½Ä ´ë½Å ACCESS var; C++¿¡¼­´Â ÀÌ·¸°Ô °¡´ÉÇÏ´Ù. Áï, ±¸Á¶Ã¼ ÀÚü°¡ µ¥ÀÌÅÍŸÀÔÀ¸·Î Àû¿ëµÈ´Ù. C++¿¡¼­´Â ±¸Á¶Ã¼µµ classÀÇ Çϳªµµ Ãë±ÞµÇ±â ¶§¹®ÀÌ´Ù. enum booleam { FALSE, TRUE }; boolean conditon; ÀÌ·± Çü½Äµµ °¡´ÉÇÏ´Ù. 7. °ø¿ëü(union)ÀÇ Çʵå ÂüÁ¶½Ã °ø¿ëü¸íÀ» ¾²Áö ¾Ê¾Æµµ µÈ´Ù. ¿¹¸¦ µé¾îº¸¸é... #include void main() { union { int i; double f; } i = 3; cout << i << endl; f = 1.52; cout << f << endl; } ÀÌ·¸°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. (¹°·Ð ÇÑ ¼ø°£ ±â¾ïÇÒ ¼ö ÀÖ´Â °ªÀº 1°³»ÓÀÌ´Ù.) 8. ij½ºÆ® ¿¬»êÀÚÀÇ º¯È­ C++¿¡¼­ ij½ºÆ® ¿¬»êÀÚ´Â ¿¬»êÀÚ ÇÔ¼öÀÇ ÇüÅ·ΠÁ¦°øµÇ¾î ÈξÀ »ç¿ëÀÌ ¸í½ÃÀûÀÌ´Ù. int i; float f; f = (float)i; ´ë½Å¿¡ f = float(i); ÀÇ »ç¿ëÀÌ °¡´ÉÇÏ´Ù. << Cº¸´Ù C++¿¡¼­ Ãß°¡µÈ »çÇ× >> 1. »õ·Î¿î ¿¹¾à¾î(reserved word ¶Ç´Â keyword) ¨ç class °ü·Ã : class, friend, virtual, this ¨è access °ü·Ã : private, public, protected ¨é ¿¬»êÀÚ : operator, new, delete ¨ê ±âŸ : try, catch, throw, templete 2. ÂüÁ¶Çü µ¥ÀÌÅÍ - »õ·Î¿î µ¥ÀÌÅÍÇüÀ¸·Î º¯¼ö¿¡ ´ëÇÑ ´Ù¸¥ À̸§, Áï º°¸íÀ» ¸»ÇÑ´Ù. - ³»ºÎÀûÀ¸·Î´Â Æ÷ÀÎÅÍ¿Í °°À¸³ª ¿ÜºÎÀûÀ¸·Î´Â ÀϹݺ¯¼öÀÌ´Ù. Çü½Ä : µ¥ÀÌÅÍÇü &ÂüÁ¶ÀÚ = ÃʱⰪ; - ÂüÁ¶Çü µ¥ÀÌÅÍ´Â ¹Ýµå½Ã Á¤ÀÇ¿Í µ¿½Ã¿¡ ¼±¾ðÀ» ÇØÁÖ¾î¾ß ÇÑ´Ù. ´Ü, ¿¹¿Ü)¦£ classÀÇ ¸â¹ö·Î »ç¿ëµÉ ¶§´Â »ý¼ºÀÚ¿¡¼­ÃʱâÈ­½ÃÄÑ ÁØ´Ù. ¦¢ ÇÔ¼öÀÇ Àμö·Î »ç¿ëµÉ ¶§´Â ÇÔ¼öÀÇ È£Ãâ½ÃÁ¡¿¡¼­ ÃʱâÈ­ µÈ´Ù. ¦¦ ÇÔ¼öÀÇ ¸®ÅÏ°ªÀ¸·Î »ç¿ëµÉ ¶§´Â ¸®ÅϽÿ¡ ÃʱâÈ­ µÈ´Ù. °¡·É, ´ÙÀ½°ú °°Àº ¿¹¿¡¼­ int i=1; int &j=i; ¶ó°í Çϸé, i°¡ °ð jÀÌ°í j°¡ °ð iÀÌ´Ù.. i°¡ º¯Çϸé jµµ º¯ÇÏ°í j°¡ º¯Çϸé iµµ º¯ÇÑ´Ù. (??) Áï, ÂüÁ¶ÇüÀ¸·Î Á¤ÀÇµÈ j´Â °ð iÀÇ º°¸í(alias)À̸ç, i³ª ¸¶Âù°¡ÁöÀÌ´Ù. ( ÇÏÀÌÅÚÀÌ ²¿Á³´Ù~¸¦ ¶ËÅÚÀÌ ²¿Á³´Ù~¶ó°í ºÎ¸£´Â °Í°ú´Ù¸¦ ¹Ù ¾ø´Ù.) ( ÁÖÀÇ»çÇ× : ÂüÁ¶ÇüÀº ŸÀÔÀÌ ´Ù¸¥ º¯¼ö·Î ÃʱâÈ­ ½ÃÄÑÁÖ¸éÂüÁ¶ÇüÀÌ ¾Æ´Ñ ÀϹݺ¯¼ö°¡ µÇ¾î¹ö¸°´Ù. ) - ÂüÁ¶Çü µ¥ÀÌÅÍÀÇ »ç¿ë¹ý ¨ç C¿¡¼­ ¹øÁöÂüÁ¶ È£Ãâ¹æ½Ä(CALL BY REFERENCE ¶Ç´Â CALL BY ADDRESS)¹æ½Ä ¿¡ ÀÇÇÑ ¸Å°³º¯¼ö(½ÇÀμö)ÀÇ º¯È­½Ã¿¡ Æ÷ÀÎÅÍ´ë½Å À¯¿ëÇÏ°Ô ¾²ÀδÙ. ex) #include void twin(int &i) { i *= 2; } void main(void) { int j=2; twin(j); cout << j << endl; } - À§¿Í °°ÀÌ »ç¿ëÇÏ¸é µÈ´Ù. C : void twin(int *i); twin(&j); C++ : void twin(int &i); twin(j); <- È;À °£ÆíÇØÁ³´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. C¿¡¼­ »ç¿ëµÇ´Â Æ÷ÀÎÅÍ¿¡ ÀÇÇÑ ¹æ¹ýÀº Áß°£°úÁ¤À» °ÅÄ¡°Ô µÇ³ª, C++ÀÇ ÂüÁ¶ÀÚ¿¡ ÀÇÇÑ ¹æ¹ýÀº ÇϳªÀÇ º¯¼ö¿¡ ´ëÇØ Á÷Á¢ º¯È­ÇÏ´Â °ÍÀÌ´Ù. ¦£¦¡¦¡¦¡¦¡¦¤ <- º¯°æÀ» ¦£¦¡¦¡¦¡¦¡¦¤ ¦¢ j ¦¢¦¡¦¡¦¤ À§ÇØ »õ·Î¿î ¦¢ i,j ¦¢<- °°Àº ±â¾ïÀå¼Ò »ç¿ë ¦¦¦¡¦¡¦¡¦¡¦¥ ¡é ±â¾ïÀå¼Ò ¦¦¦¡¦¡¦¡¦¡¦¥ ¡è ¦£¦¡¦¡¦¡¦¡¦¤¸¶·Ã ¦¦¦¡¦¡¦¢ i ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¥ ¨è ÇÔ¼öÀÇ ¸®ÅÏ°ªÀ» Áº¯°ª(lvalue)È­ ½Ãų ¼ö ÀÖ´Ù. C¿¡¼­´Â »ó»óÁ¶Â÷ ÇÒ ¼ö ¾ø¾ú´ø ÀÏÀ» C++¿¡¼­´Â ÂüÁ¶Çü µ¥ÀÌÅÍ·Î °¡´ÉÇÏ °Ô µÈ´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ. ex) #include int array[5] = { 1,2,3,4,5 }; int &getarray(int n) { // ÂüÁ¶ÇüÀ» ¸®ÅÏÇÏ´Â ÇÔ¼ö return (ar[n]); } void main(void) { getarray(3) = 100; // ÀÌ¿Í °°ÀÌ ÇÔ¼öÀÇ ¸®ÅÏ°ª¿¡ ´ëÀÔÀÌ °¡´ÉÇÏ´Ù. for(int i=0; i<=4; i++) cout << i << '=' << array[i] << endl; } ´ëü ÀÌ°Ô ¸»ÀÌ µÇ´Â°¡?? ÂüÁ¶ÇüÀ̶õ ´Ù½Ã ¸»ÇÏÁö¸¸ º¯¼ö¿¡ ´ëÇÑ º°¸íÀÌ ´Ù. getarray()¶ó´Â ÇÔ¼ö°¡ ¸®ÅÏÇÏ´Â °ªÀº º¯¼ö ÀÚü¸¦ ¸®ÅÏÇÏ´Â °ÍÀÌ´Ù. a[3]ÀÇ ¹øÁöµµ ¾Æ´Ï°í, a[3]°ª ÀÚüµµ ¾Æ´Ï°í, a[3]À̶ó´Â º¯¼ö ÀÚüÀÌ´Ù. Áï, array[3] = 100; °ú °°ÀÌ ¾²´Â °ÍÀ̶û ¿ÏÀüÈ÷ °°Àº È¿°ú¸¦ ¹ßÈÖÇÑ´Ù. - ÀÌ ÂüÁ¶ÇüÀº ¾ÕÀ¸·Î class¿¡¼­ ¹ä¸ÔµíÀÌ »ç¿ëµÈ´Ù. 3. »ó¼öÇü µ¥ÀÌÅÍ C¿¡¼­µµ #define¿¡ ÀÇÇÑ »ó¼ö°¡ ÀÖ¾úÁö¸¸ C++¿¡¼­´Â ´õ¿í °­·ÂÈ÷ »ç¿ë µÇ¸ç, const ¿¹¾à¾î¸¦ »ç¿ëÇÏ¿© Á¤ÀÇÇÑ´Ù. Çü½Ä : const ÀÚ·áÇü º¯¼ö¸í = »ó¼ö; ex) const double pi = 3.141592; ¨ç »ó¼öÇüÀº Á¤ÀÇ¿Í µ¿½Ã¿¡ ¹Ýµå½Ã ÃʱâÈ­°¡ µÇ¾î¾ß ÇÑ´Ù. ¨è »ó¼öÇüÀº º¯È­½Ãų ¼öµµ ¾ø°í, º¯È­Çؼ­µµ ¾ÈµÈ´Ù. ¨é C¿¡¼­¿Í ´Þ¸® ÀÚ·áÇüÀÇ ÁöÁ¤ÀÌ °¡´ÉÇØÁ³´Ù. - ÀÌ »ó¼öÇüÀº pointerÇü¿¡¼­ À¯¿ëÇÏ°Ô ¾²ÀδÙ. [1] const int *p; --> ³»¿ëÀÇ »ó¼öÈ­ [2] int * const p; --> ÁÖ¼ÒÀÇ »ó¼öÈ­ [3] const int *const p; --> ³»¿ë°ú ÁÖ¼ÒÀÇ »ó¼öÈ­ 1¹ø : ÁÖ¼ÒÀÇ º¯°æ °¡´É, ³»¿ëÀÇ °¡´É ºÒ°¡ 2¹ø : ÁÖ¼ÒÀÇ º¯°æ ºÒ°¡, ³»¿ëÀÇ °¡´É °¡´É 3¹ø : ÁÖ¼ÒÀÇ º¯°æ ºÒ°¡, ³»¿ëÀÇ °¡´É ºÒ°¡ 4. scope¿¬»êÀÚ ( :: ) Áö¿ªº¯¼ö(local variable)¿¡ ÀÇÇØ Àü¿ªº¯¼ö(global variable)°¡ °¡¸² ´çÇÒ ¶§ ÇÔ¼ö ³»¿¡¼­ Àü¿ªº¯¼ö¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¿¬»êÀÚÀÌ´Ù. ¡Ø ±â¾ïºÎ·ù(storage class)¿¡ ÀÇÇÏ¸é ´Ù¸¥ ºí·°¿¡ °°Àº º¯¼ö 2°³°¡ Á¸Àç ÇÏ°Ô µÉ ¶§, Á¼Àº ¹üÀ§(ºí·°)¾ÈÀÇ °ÍÀÌ ÀνĵȴÙ. ÀÌ°ÍÀ» ¹æÁöÇϱâ À§ÇÑ ¿¬»êÀÚÀÌ´Ù. ex) #include void sub(void); int i=1; void main(void) { int i=3; cout << i << endl; // 3ÀÌ Ãâ·ÂµÈ´Ù. (Áö¿ªº¯¼ö i=1À» ÀνÄ) cout << ::i << endl; } // 1ÀÌ Ãâ·ÂµÈ´Ù. (Áö¿ªº¯¼ö i=3À» ÀνÄ) - ¿ª½Ã class¸¦ À§ÇØ »õ·ÎÀÌ Åº»ýÇÑ ¿¬»êÀÚ¶ó°í º¼ ¼ö¹Û¿¡ ¾ø´Ù.(??) 5. new, delete¿¬»êÀÚ¿¡ ÀÇÇÑ ¸Þ¸ð¸®ÀÇ µ¿ÀûÇÒ´ç C¿¡¼­ malloc, freeµîÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏ´ø ¸Þ¸ð¸®ÀÇ µ¿ÀûÇÒ´çÀ» ´Ü¼øÈ÷(?) ¿¬»êÀÚ Çϳª·Î¼­ °¡´ÉÇØÁ³´Ù. ¨ç new ¿¬»êÀÚ Çü½Ä : Æ÷ÀÎÅͺ¯¼ö = new ÀÚ·áÇü(Å©±â); ex) int *i = new int; char *p = new char[5]; new ¿¬»êÀÚ´Â sizeof(ÇÒ´ç´ë»ó)ÀÇ ¸Þ¸ð¸®¸¦ heap¿µ¿ª¿¡ È®º¸ÇÏ¿© ¼±µÎ¹øÁö °ªÀ» ¸®ÅÏÇÑ´Ù. ¸Þ¸ð¸® È®º¸¿¡ ½ÇÆÐÇÑ °æ¿ì _new_handler¶ó´Â ÇÔ¼ö¸¦ È£Ãâ ÇÏ¿© ÇÁ·Î±×·¥À» Á¾·á½ÃÅ°³ª, set_new_handlerÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¼öÁ¤À» ÇÏ¿© ¼¶¼¼ÇÑ Ã³¸®¸¦ ÇÒ ¼ö°¡ ÀÖ´Ù. (mallocÀÇ °æ¿ì: NULL°ª ¸®ÅÏ) ÀÌ·¸°Ô Çؼ­ µ¿ÀûÇÒ´çµÈ ¸Þ¸ð¸®´Â »ç¿ëÀÌ ³¡³ª¸é ¹Ýµå½Ã ÇØÁ¦½ÃÄÑ¾ß ÇÑ´Ù. ( malloc()ÀÇ °æ¿ì: free()ÇÔ¼ö·Î Çß¾ú´Ù. ) ¨è delete ¿¬»êÀÚ ¸Þ¸ð¸®ÀÇ ÇØÁ¦´Â delete ¿¬»êÀÚ¿¡ ÀÇÇؼ­ °¡´ÉÇÏ´Ù. Çü½Ä : delete Æ÷ÀÎÅͺ¯¼ö; À§¿¡¼­ ÇÒ´çµÇ¾ú´ø ¸Þ¸ð¸®¸¦ ÇØÁ¦Çϱâ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. delete i; delete p; - new·Î »ý¼ºµÈ ¸Þ¸ð¸®¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ º¯¼ö´Â ÀϹݺ¯¼ö¿Í ¸¶Âù°¡Áö·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù. classÀÇ °´Ã¼¸¦ »ý¼ºÇÒ ¶§´Â °´Ã¼¸¦ ÃʱâÈ­½ÃÄÑ ÁÖ´Â ÇÔ¼ö±îÁö È£Ãâ½Ãų ¼ö ÀÖ´Ù. ex1) int *buffer = new int[5]; for(int i=0; i<=4; i++) buffer[i] = i; ex2) struct person { char name[15]; int age; float height; } person *p = new person; strcpy(p->name,"ACCESS"); p->age = 21; p->height = 178.5; À§ µÎ °¡Áö ¿¹¸¦ º¸¸é ¹«½¼ ¶æÀÎÁö ¾Ë °ÍÀÌ´Ù. (À§ÀÇ µÎ ¿¹´Â Çٽɺκи¸ ¾´ °Í - ÄÄÆÄÀÏ µÇÁö ¾ÊÀ½) << linkageÁöÁ¤ >> linkage¶õ ÄÄÆÄÀϽÿ¡ ÄÄÆÄÀÏ·¯°¡ ¿ÀºêÁ§Æ® ÆÄÀÏ¿¡ ³²°Ü³õ´Â ¸µÅ©¿¡ °üÇÑ Á¤º¸¸¦ ¸»ÇÑ´Ù. µû¶ó¼­ ¸µÄ¿´Â linkageÁ¤º¸¸¦ º¸°í ¾î¶² ÇÔ¼ö°¡ °áÇյǾî¾ß ÇÒÁö ÆÇ´ÜÇÏ°Ô µÈ´Ù. C¿¡¼­´Â ÇÔ¼ö³¢¸® À̸§¸¸À¸·Î ±¸ºÐÀÌ °¡´ÉÇß¾úÀ¸³ª, C++¿¡¼­´Â ´ÙÇü¼º¿¡ ÀÇÇؼ­ À̸§¸¸À¸·Î´Â ±¸ºÐÀÌ ºÒ°¡´ÉÇÏ°Ô µÇ¾ú´Ù. µû¶ó¼­ C++¿¡¼­ CÇÔ¼ö¸¦ »ç¿ëÇϱâ À§Çؼ­ ÄÄÆÄÀÏ·¯°¡ linkage¸¦ C++¿¡ ¾Ë ¸Â°Ô º¯È­½ÃÅ°´Âµ¥, ÀÌ°ÍÀ» ³×ÀÓ ¸Í±Û¸µ(name mangling)À̶ó°í ÇÑ´Ù. Çü½Ä : ÇÔ¼öÀÇ ÇÁ·ÎÅäŸÀÔ ¾Õ¿¡ extern "C" ¸¦ ºÙ¿©ÁÖ¸é µÈ´Ù. ex) extern "C" int myfunc(void); extern "C" { int myfunc(void); void subfunc(char *c); char *str(int n); char *str(int n); } extern "C" { #include "user.h" } ¡Ø ¾î¼Àºí·¯·Î Â¥¿©Áø ¸ðµâÀ» »ç¿ëÇÒ ¶§¿¡µµ extern "C"¶ó°í ½áÁØ´Ù. ¡Ø ±âÁ¸¿¡´Â ÇÁ·ÎÁ§Æ® ÆÄÀÏÀ» ¾Æ½ºÅ°¹®¼­·Î ÀÛ¼ºÇÏ¿´À¸³ª, Borland°è¿­ÀÇ C++¿¡¼­ ÇÁ·ÎÁ§Æ®¸¦ Çϱâ À§Çؼ­´Â IDE³»ÀÇ ÇÁ·ÎÁ§Æ® ÆÄÀÏ ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© ¹«Ã´ ½±°Ô ÀÛ¼ºÀÌ °¡´ÉÇÏ´Ù. °Ô´Ù°¡ ¾î¼Àºí·¯ ¸ðµâ±îÁö ÇÁ·ÎÁ§Æ®¿¡ »ç¿ëÇÒ ¼ö°¡ ÀÖ´Ù. . .