CAndCPlus PlusÅä·Ð
from
´ÙÅ¥¸ÕÆ®¸ðµå, ¹®¼±¸Á¶Á¶Á¤ ÁøÇàÁßÀÔ´Ï´Ù. ´ÙÅ¥¸ÕÆ®¸ðµåÁß OneLinersFight'''´Â Ưº°ÇÑ ÀÏ ¾ø´Â ÇÑ Áö¾çµÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù. ÇØ´ç ±Û ÀÛ¼ºÀÚ ºÐµéÀÌ ´ÙÅ¥¸ÕÆ®¸ðµå·Î ÁøÇàÇØÁÖ½Å´Ù¸é ´õ¿í ´õ Á¤È®ÇÑ ¹®¼°¡ µÇ¸®¶ó »ý°¢ÇÕ´Ï´Ù.
Ȥ½Ã ¿øÀúÀÚÀÇ º»·¡ Àǵµ°¡ ÈѼյǾú´Ù°í »ý°¢µÇ½Ã´Â ºÐÀº À§Å°ÀÇ Æ¯¼ºÀ» »ì·Á¼ ¹Ù·Î º¸¿ÏÇØÁÖ½Å´Ù¸é ¸ðµÎ¿¡°Ô ÁÁÀº ±ÛÀÌ µÇ¸®¶ó »ý°¢ÇÕ´Ï´Ù.
ȸÀÇ ¹æ¹ýÁß '»ó´ë¹æÀÇ ÀÇ°ß¿¡ ¹Ý´ë´Â ÇÒ¼ö ¾ø°í °³¼±¸¸ °¡´ÉÇÑ È¸ÀÇ'°¡ ÀÖ´Ù°í ÇÕ´Ï´Ù. ±×·¯ÇÑ ¹æ¹ýÀ¸·Î °³¼±µÈ´Ù¸é ´õ¿í ´õ ÁÁÀ» °Í °°½À´Ï´Ù.
1. C ÀÇ ÀåÁ¡ ¶
C ·Î °³¹ßÇÒ °æ¿ì°¡ Àִµ¥, ÀÌ ¶§´Â ÁÖ·Î method µéÀÌ À§ÁÖ°¡ µÇ¾î ÀÖ´Â °£´ÜÇÑ utility µéÀ» ¸¸µé¶§ ÀÔ´Ï´Ù.
- class ¸¦ ÀÏ´Ü ¾²±â ½ÃÀÛÇÏ¸é ¼¶¼¼ÇÑ ÀÛ¾÷°ú ±ÍÂúÀº libstdc++ linking ¹®Á¦¿¡ ½Å°æ¾²ÀÌÁö ¾Ê¾Æ¼ ÁÁ½À´Ï´Ù.
- °¡º±´Ù´Â »ý°¢¿¡ ±âºÐÀÌ ÁÁÁÒ. °Ô´Ù°¡ nm À¸·Î Ãâ·ÂµÇ´Â ½Éº¼µéÀÇ °£°áÇÔÀÌ ´Ã ±âºÐÁÁ½À´Ï´Ù.
(from pynoos)
3. C++ ÀÇ ÀåÁ¡ ¶Å¬·¡½º¸¦ ÀÌ¿ëÇØ Ä¸½¶È¸¦ ÇÏ°í À̷κÎÅÍ À¯Áöº¸¼ö »ó ÀåÁ¡À» ¾òÀ» ¼ö ÀÖ´Ù.
Ŭ·¡½º³»ºÎ¿¡¼ private¸¦ ÀÌ¿ëÇÏ¿© À¯Áöº¸¼ö¸¦ À§ÇÑ ¸®ÆåÅ丵ÀÌ ¼Õ½±°Ô ÇÒ¼ö ÀÖ´Ù.
class¸¦ À¯Æ¿¸®Æ¼³ª ¶óÀ̺긮·¯·Î ÄÄÆ÷ÅÏÆ®È Çϸé , ´ÙÀ½ ÇÁ·ÎÁ§Æ®¶§ Àç»ç¿ëÇϱ⠿ëÀÌÇÏ´Ù.
(from mastercho)
»ý¼º/¼Ò¸êÀÚÀÇ Á¸Àç°¡ C¿¡¼´Â struct¾ÈÀÇ structµéÀ» ÇØÁ¦ÇÒ °æ¿ì »ðÁúÀ» ÇؾßÇÏ´Â °æ¿ì¿¡ ´ëÇØ °£ÆíÇÑ µµ±¸·Î »ç¿ëµÈ´Ù.
Virtual Function Table À̶ó´Â °³³äÀ¸·Î ±¸ÇöµÈ virtual member function µéÀº C ¿¡¼ ÇÔ¼ö Æ÷ÀÎÅÍ ±¸Á¶Ã¼¸¦ ÅëÇØ ±¸ÇöµÇ´Â Interface Á¦ÀÛ¿¡ ºñÇØ »ó´çÇÑ ³ë·ÂÀ» Àý°¨ÇÏ¿© ÁØ´Ù.
»ó´ç¼ö STLÀ» »ç¿ëÇÏ¿© Á¦ÀÛÇÏ°Ô µÇ´Â set, vectorµîÀº Á÷Á¢ list µîÀÇ ÀڷᱸÁ¶ ±¸Çö¿¡ ½Å°æ¾²Áö ¾Ê¾Æµµ µÈ´Ù. »ý°¢ÀÌ ÀÚÀ¯·Î¿öÁø´Ù´Â ´À³¦À» ¹Þ´Â´Ù.
C++ÀÇ °·ÂÇÑ Å¸ÀÔüũ ±â´É¿¡ Àͼ÷ÇÏ°Ô µÇ¸é, CÀÇ Äڵ尡 ´õ dzºÎÇØÁö´Â °ÍÀ» °æÇèÇÑ´Ù.
(from pynoos)
4. C++ ÀÇ ´ÜÁ¡ ¶
ÀÌ´Â Çö¾÷ °³¹ß¿¡¼µµ ²Ï³ª °É¸²µ¹ÀÌ µÈ´Ù. ´ë±Ô¸ð ÇÁ·ÎÁ§Æ®ÀÇ °æ¿ì ´çÀå ÄÄÆÄÀÏ Å¸ÀÓÀÇ Áõ°¡¸¸ Çصµ Â¥ÁõÀÌ ³¯ Á¤µµÀÌ´Ù.
¾à°£ÀÇ ³ë·Â°ú »ý°¢À¸·Î ÀÌ ¹®Á¦¸¦ ÃÖ¼ÒÈ ÇÒ ¼ö ÀÖÀ¸¸®¶ó »ý°¢ÇÑ´Ù.
ÀÚÀ¯¶ó±â º¸´Ù´Â C++ÀÇ ¹®Á¦¸¦ µ¹¾Æ°¡´Â ¹æ¹ýÀÌ¶ó º»´Ù. »ó¼ÓÀ» ¾²´Â °ÍÀ» ÇÇÇØ¾ß ÇÑ´Ù¸é, ±×°Ç ±íÀº »ó¼ÓÀ» ¸¶±¸ »ç¿ëÇÏ´Â °Í ¸¸ÅÀ̳ª À§ÇèÇÏ´Ù »ý°¢ÇÑ´Ù. Â÷¶ó¸® ¾ð¾î°¡ °³¼±ÀÌ µÇ´Â°Ô ³ªÀº ¹æÇâÀÌ ¾Æ´Ò±î.
(from chunsj)
5. ¾ð¾îÀÇ Ç¥Çö·Â, ¾ç³¯ÀÇ °Ë? ¶{{|
"ÀÚ¹Ù ÇÁ·Î±×·¡¸ÓÁß¿¡´Â GJ(ÀÚ¹Ù¾ð¾îÀÇ È®Àå) Á¦¾ÈÀ» ¹Þ¾ÆµéÀÌ´Â °æ¿ì ÀÚ¹ÙÀÇ ´Ü¼øÇÔÀ̳ª °£°áÇÔÀ» ÇØÄ¥°ÍÀ̶ó °ÆÁ¤ÇÏ´Â À̵éÀÌ Àִµ¥, À̴ Ʋ¸° »ý°¢ÀÌ´Ù, ¾î¶² ¾ð¾îÀÇ Ç¥Çö·ÂÀÌ ´Ã¾ú´Ù°í Çؼ ±× ¾ð¾îÀÇ ÀÇ¹Ì Ã¼°è¸¦ °íÃĽá¾ß ÇÑ´Ù¸é, ±× Ã¥ÀÓÀº ±×·± ±â¹ý¿¡ ÀÖ´Â°Ô ¾Æ´Ï¶ó ¾ð¾î ÀÚü¿¡ ÀÖ´Ù, Á¤¸» ÁÁÀº ¾ð¾î¶ó¸é Ç¥Çö·ÂÀ» ´õÇϱâ À§ÇØ ¾ð¾î¸¦ È®ÀåÇصµ ±âº»ÀÌ µÇ´Â ¾ð¾îÀÇ ¾Ë¸ÍÀÌ°¡ µÚƲ¸®°Å³ª ÈåÆ®·¯ÁöÁö ¾ÊÀ¸¸ç ºÒ¾î³ªÁöµµ ¾Ê´Â´Ù"
-- ±èÀç¿ì, (¸¶ÀÌÅ©·Î ¼ÒÇÁÆ®¿þ¾îÀÇ 2002³â 01¿ùÈ£ "´õ ³ôÀº ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è Haskell·Î °¡ÀÚ" Áß)
|}}
¾ð¾î°¡ È®ÀåµÇ°í ¹æ´ëÇÏ´Ù°í Çؼ ¾ð¾î°¡ ³ªºüÁöÁø ¾Ê´Â´Ù. C++Àº ¾ð¾îÀûÀÎ Ãø¸é¿¡¼ C¸¦ È®ÀåÇÏ°í ¼ö¸¹Àº Æз¯´ÙÀÓÀ» Èí¼öÇÑ°Í»ÓÀ̸ç, ¾ð¾îÀûÀθ鿡¼ ¾öû³ ¹ßÀüÀ» ÀÌ·ç¾ú´Ù°í º¼¼ö Àִ°ÍÀÌÁö ÀÌ·¸°Ô ¹æ´ëÇÏ°Ô ´À²¸Áö´Â°ÍÀ» , ¾ð¾îÀûÀÎ Ãø¸é¿¡¼ ´Ü¼øÇÏÁö ¾Ê´Ù¸ç ³ª»Ú´Ù°í ÁÖÀåÇϴ°ÍÀº À߸øµÆ´Ù°í º»´Ù.
{{|
"ÀÚ¹Ù°¡ Àß ¼³°èµÈ ¾ð¾î¶ó¸é GJÁ¦¾ÈÀº ºÎ´ãÀÌ ¾Æ´Ï¶ó ºÒÆíÇÏ°í ¸ðÀÚ¶ó´Â ºÎºÐÀ» ä¿öÁÖ´Â Ä¡·áÁ¦°¡ µÉ °ÍÀÌ Æ²¸²¾ø°í,´õ±¸³ª ±×°ÍÀÌ GJÁ¦¾ÈÀ̶ó¸é Ãß°¡µÈ Ư¡À» ¾²Áö ¾Ê´Â ¹ÙÀ̳ʸ®¿Í ¿ÏÀüÇÑ È£È¯¼ºÀ» º¸ÀåÇÏ´Â ±â¼úÀ̶ó Å« ¹®Á¦°¡ ¾ø´Ù"
-- ±èÀç¿ì
(Áï, Generic Progamming Àº ¿©ÀüÈ÷ Type-Strong À̱⠶§¹®¿¡, ÄÄÆÄÀÏ·¯ÀÇ ¿ªÇÒÀÌ Ãß°¡µÉ »ÓÀÌÁö ¹ÙÀ̳ʸ® »óÀ¸·Î´Â Â÷ÀÌ°¡ ¾ø°Ô µÈ´Ù.)
|}}
À§±Û¿¡ ÁÖÀåÇÏ´Â ¹Ù¿¡ µû¸£¸é C++¿¡¼´Â CÀÇ ¼ö¸¹Àº ´ÜÁ¡À» ±Øº¹ÇØÁÖ¾ú°í, Ç¥Çö·Â »ó ¸ðÀÚ¶ó´Â ºÎºÐÀ» ä¿öÁØ °ÍÀÌ´Ù. ¾²±â Èûµç ±â´É¿¡ ´ëÇؼ´Â »ç¿ëÇÏÁö ¾ÊÀ¸¸é µÈ´Ù.
(mastercho ´Ô ±ÛÁß)
C++·Î Á¦´ë·Î µÈ ÇÁ·ÎÁ§Æ®¸¦ Çغ¸Áö´Â ¾Ê¾ÒÁö¸¸ ÆÀÀ¸·Î ±¸¼ºÀ» Çؼ °£´ÜÈ÷ ÇÁ·ÎÁ§Æ®¸¦ Çغ¸¾Ò´Ù. C++ÀÇ ¹üÀ§(Ç¥Çö¹æ¹ý, Æä·¯´ÙÀÓ)°¡ Ä¿¼ ±×·±Áö °¢ÀÚ°¡ °°Àº °ÍÀ» ±¸ÇöÇصµ ´Ù¸¥ ¹æ¹ýÀ» »ç¿ëÇÏ°Ô µÇ±âµµ ÇÑ´Ù. ÀÌ°ÍÀº ÆÀÇÁ·ÎÁ§Æ®¿¡ ±×´ÙÁö ÁÁÁö ¾ÊÀº ¿µÇâÀ» ÁØ´Ù. °á±¹ ÇѸíÀÌ ¹Ý ÀÌ»ó(Á¶±Ý °úÀåÇؼ)À» ¶â¾î °íÃÆ´Ù. ¹°·Ð Á¦´ë·Î ¾ËÁö ¸øÇÑ »ç¶÷µéÀÌ ½ÃÀÛÇؼ ÀÌ·± ¹®Á¦°¡ ÀϾ´Ù°í ÇÒ¼öµµ ÀÖ°ÚÁö¸¸ ÀÚ¹Ù³ª C´Â ÀÌ·¸°Ô±îÁö ¹®Á¦°¡ Ä¿Áú¸¸ÅÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù.
³ª´Â ÅÛÇø´À» ÁÁ¾ÆÇÑ´Ù. C++¿¡¼´Â ÀÌ ÅÛÇø´ÀÌ °¡Àå ¸Å·ÂÀÌ ÀÖ´Â °Í °°´Ù. ¹°·Ð ÀÚ¹Ù¿¡¼ ObjectŬ·¡½º¸¦ »ó¼ÓÇؼ °ÅÀÇ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹®Á¦°í ÀÌ ¹æÇâÀÌ ´õ ÀûÀýÇÏ´Ù°í »ý°¢µÇÁö¸¸ C++¿¡¼ ÅÛÇø´ ¿ª½Ã ¸Å·ÂÀûÀÎ ¿ä¼ÒÀÌ´Ù. C¿¡ ÀûÀýÇÑ ÇüÅ·ΠÅÛÇø´ ±â´ÉÀÌ Ãß°¡µÈ´Ù¸é ÁÁ°Ú´Ù´Â »ý°¢À» ÇÑ´Ù.
(from ÀÌÇÑ±æ ´Ô ±ÛÁß)
C++ÀÇ ¹üÀ§°¡ Ä¿¼ ÇÁ·ÎÁ§Æ®°¡ ÁÁÀº ¿µÇâÀ» ¹ÞÁö ¸øÇÑ °Ô ¾Æ´Ï¶ó º»´Ù. ´Ù¸¸ C++ ¾ð¾î°¡ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î Ç¥ÇöµÉ ¼ö Àֱ⠶§¹®¿¡ ÆÀ ¿øµéÀÌ ¼·Î ±¸ÇöÇÑ ³»¿ëÀÌ ´Ù¸¦ ¼ö ÀÖ´Â °ÍÀÌ´Ù. °á°ú°¡ °°´Ù°í Çؼ Áß°£ °úÁ¤ÀÌ °°´Ù°í º¸´Â °ÍÀÌ ¹«¸®ÀÎ °Í°ú °°Àº ÀǹÌÀÌ´Ù.
ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Â °ÍÀº ÆÀ¿ø°£ÀÇ ²ÙÁØÇÑ ÇùÀÇ°¡ ÇÊ¿äÇÑ ÀÏÀÌ´Ù. ´Ù¾çÇÑ ¹®Á¦Á¡¿¡ ´ëÇØ ³íÀÇÇÏ°í ÀÇ°ßÀ» ¸ÂÃç°¡¸é¼ ÁøÇàÇÏ´Â °ÍÀÌ´Ù. °³°³ÀÎÀÇ Äڵ尡 °á°ú¹°¿¡ ¸ÂÁö ¾Ê´Â ´Ù¸é ¾ð¾îÀûÀÎ ¹®Á¦·Î º¼ °ÍÀÌ ¾Æ´Ñ°Í °°´Ù.
ÇѸíÀÌ ¹Ý ÀÌ»óÀ» ¶â¾î °íÃÆ´Ù´Â ¸»Àº ´Ù¸¥ »ç¶÷ÀÌ ¾´ Äڵ尡 ³»ºÎÀûÀ¸·Îµç ¿ÜºÎÀûÀ¸·Îµç Àüü ÇÁ·ÎÁ§Æ®¿¡ ÀûÇÕÇÏÁö ¾Ê¾Æ¼ °íÃÆ´Ù´Â ¸»·Î µé¸°´Ù. ÀÌ ¸»Àº ¾ð¾îÀÇ ¹üÀ§°¡ Å©´Ù´Â °Í°ú´Â º°°³·Î º¸ÀδÙ.
(from berise)
óÀ½ ½ÃÀÛÇÒ¶§ ¼·Î°£ÀÇ ÀÎÅÍÆäÀ̽º±îÁö ¸ðµÎ Á¤ÀǸ¦ ÇÏ°í ½ÃÀÛÇß´Ù. ÇÏÁö¸¸ ±×·³¿¡µµ ºÒ±¸ÇÏ°í ³ªÁß¿¡ ¼öÁ¤ÇÒ¶§¿¡´Â ´Ü¼øÇÑ ÀÛ¾÷ÀÌ ¾Æ´Ï¿´´Ù. ¹°·Ð ¼·Î ÀÚÁÖ À̾߱⸦ ÇÏ°í ÀÛ¾÷À» ÇÑÂÊ¿¡¼´Â ±×·± ¹®Á¦°¡ Ưº°È÷ ¹ß»ýÇÏÁö´Â ¾Ê¾Ò½À´Ï´Ù.
¾ð¾îÀÇ ¹üÀ§°¡ Å©´Ù´Â °Íµµ ¹®Á¦°¡ µÈ´Ù. ±¸ÇöÀÇ ¹æ¹ý¿¡ ÀÖ¾î¼ ÀÇ¿Ü·Î Â÷ÀÌ°¡ ³ª°Ô µÇ±âµµ Çϱ⠶§¹®ÀÌ´Ù.
C³ª ÀÚ¹Ù´Â ÀÌ·¸°Ô±îÁö Çã¿ëÇÏÁö ¾Ê´Â´Ù. Á¶±Ý ´Ù¸¥ ÇüÅÂÀÇ ¾ð¾îÀ̱ä ÇÏÁö¸¸ ²Ï Àß ¼³°èµÇ¾ú´Ù°í º¸¿©Áö´Â ML¿¡¼ ¶ÇÇÑ °ÅÀÇ ºÒ°¡´ÉÀÌ´Ù.
ML¿¡¼µµ °´Ã¼ÁöÇâÀÌ °¡´ÉÇϸç ƯÈ÷ MLÀº typeÀÌ ¹Ì¸® Á¤ÀǵÇÁö ¾ÊÀº Generic typeÀ» »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ ÅÛÇø´°°Àº °Íµµ ±»ÀÌ ÇÊ¿äÇÏÁö ¾Ê´Ù. C++Àº ÀÌ¿¡ ºñÇÏ¸é ºñÈ¿À²ÀûÀ¸·Î ¼³°èµÇ¾ú´Ù. »ç¶÷ÀÌ ¹®Á¦°¡ µÇ±âµµ ÇÏÁö¸¸ ¾ð¾î´Â ¾î´ÀÁ¤µµ ±×·± ¹®Á¦¸¦ ¸·¾ÆÁÙ ¼ö ÀÖ´Ù.
»ç½Ç ¾ö¹ÐÈ÷ ¸»Çϸé C¸¦ C++¿¡¼ ¼¯¾î ¾µ ¼ö ÀÖµµ·Ï ÇÑ°ÍÀº ÄÄÆÄÀÏ·¯ °³¹ßÀÚµé Å¿µµ ÀÖ´Ù. Á¦ ´«¿¡´Â ÀÌ·±°ÍµéÀÌ C++ÀÇ Å¿À¸·Î µé¾î¿ÔÁö¸¸ °´°üÀûÀ¸·Î °í·ÁÇغ¼¶§ ÄÄÆÄÀÏ·¯ Á¦°øÀÚµéÀÌ C¶óÀ̺귯¸®µµ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Á¦°øÇؿԱ⠶§¹®À̱⵵ ÇÏ´Ù. ±×¸®°í ±×·² ¼ö ¹Û¿¡ ¾ø¾ú´ø °ÍÀº ´ç½Ã »óȲÀ̾úÀ¸¸ç ¶ÇÇÑ C++ÀÇ ¿Ïº®¼º ºÎÀç¶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù. ¾ð¾î°¡ ¿Ïº®ÇÒ ¼ö´Â ¾ø´Ù. ÇÏÁö¸¸ ÀÌ·± ÀϹÝÀûÀÎ »ç¿ëÀڵ鿡°Ô ¹®Á¦·Î ´Ù°¡¿Ã Á¤µµ¶ó¸é Àç°íÇغÁ¾ßÁö ¾ÊÀ»±î ÇÏ´Â »ý°¢ÀÌ µç´Ù.
»ç¿ëÀÚ´Â ½Ç¼ö¸¦ ¾ÈÇÑ´Ù°í °¡Á¤ÇÏ½Ã°í ¸»¾¸ÇϽŴٸé ÇÒ¸»ÀÌ ¾ø´Ù. ±×·¯³ª ½Ç¼ö¸¦ ¾ÈÇÒ ¼ö´Â ¾ø´Â ÀÏÀÌ°í ½Ç¼ö¸¦ ÇÏÁö ¾Ê´õ¶óµµ ºÒÇÊ¿äÇÏ°Ô °í·ÁÇÒ »çÇ×ÀÌ ¹ß»ýÇÏ´Â °ÍÀÌ C++À̶ó »ý°¢ÇÑ´Ù.
(from ÀÌÇѱæ)
c++ÀÇ À§Çè¿ä¼Ò¶õ °ÍÀº °á±¹ c++ÀÌ °®´Â ¹ü¿ë¼ºÀÇ ¹Ý´ë±ÞºÎ¶ó°í ÀÌÇصȴÙ. À̸¦Å׸é C ½ºÅ¸ÀÏÀÇ ÄÚµå¿Í c++ ½ºÅ¸ÀÏÀÇ Äڵ尡 È¥ÀçµÉ ¼ö ÀÖ°í, ¶Ç ÇÑ ÇÁ·ÎÁ§Æ® ³»¿¡¼µµ »ç¶÷¿¡ µû¶ó ÄÚµù ½ºÅ¸ÀÏÀÌ ¸¹ÀÌ ´Þ¶óÁ®¼ À¯Áöº¸¼ö°¡ ¾î·Á¿ï ¼ö ÀÖ´Ù´Â °Í, ÀÌ·± °ÍÀº ¹Ù²ã ¸»ÇØ C++ÀÌ ±×¸¸Å C·Î µÈ ±âÁ¸ÀÇ APIµµ Àß Áö¿øÇÏ°í, ¿©·¯°¡Áö ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀ» Áö¿øÇÑ´Ù´Â ¶æÀÌ ¾Æ´Ò±î?
¾ÖÃÊ¿¡ ±âÁ¸ÀÇ C legacy ÄÚµåµéÀ̳ª OOP, Generic Programmingµî ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀ» Áö¿øÇÏ´Â °ÍÀ» ¸ñÇ¥·Î ¼³°èµÈ ¾ð¾î¿¡ ´ëÇØ, '¿©·¯ ½ºÅ¸ÀϵéÀÌ ¼¯ÀÏ ¼ö ÀÖÀ¸¹Ç·Î À§ÇèÇÏ´Ù'°í Ä¡ºÎÇÏ´Â °Ç Á» °ï¶õÇÏ´Ù°í º»´Ù. ±×·¯ÇÑ C++ÀÇ Æ¯¼ºÀº °³¹ßÀÚ/ÇÁ·ÎÁ§Æ® °ü¸®ÀÚÀÇ ¿ª·®¿¡ µû¶ó ºûÀ» ¹ßÇÏ´Â ÀåÁ¡ÀÌ µÉ ¼öµµ ÀÖ°í Ä¡¸íÀûÀÎ ½ÇÆи¦ ÃÊ·¡ÇÏ´Â ´ÜÁ¡ÀÌ µÉ ¼öµµ ÀÖ´Â °ÍÀÌ´Ù. ¿¹·Î µå½Å malloc°ú newÀÇ È¥¿ëÀº Á¶±ÝÀÌ¶óµµ ¸¶Àε尡 ÀÖ´Â °³¹ßÀÚ¶ó¸é ÃæºÐÈ÷ ÇÇÇÒ ¼ö ÀÖ´Â ¹®Á¦ÀÌ°í, ÆÀ¿ø °£ ÄÚµù ½ºÅ¸ÀÏÀÌ »óÀÌÇÑ °ÍÀº ÀûÀýÇÑ ÄÚµù ±Ô¾àÀÇ µµÀÔÀ¸·Î ÃæºÐÈ÷ ÇØ°áµÉ ¼ö ÀÖ´Â ¹®Á¦ÀÌÁö, °áÄÚ ´Ù¸¥ ¾ð¾î·Î ´ëüµÇ¾î¾ß¸¸ ÇÒ¸¸Å ½É°¢ÇÑ °áÇÔÀÌ¶ó º¸Áö ¾Ê´Â´Ù.
¹°·Ð SmalltalkLanguage, JavaLanguage¿Í °°Àº ´ÜÀÏ Æз¯´ÙÀÓ ¾ð¾îµéÀ̳ª ML, EiffelµîÀÇ ÈǸ¢ÇÑ ¾ð¾îµéÀº ±×·¯ÇÑ Ãß°¡ÀûÀÎ °ü¸®ºñ¿ëÀÌ Àû°Ô µé°í °³¹ßÀÚÀÇ ÇнÀ°î¼±µµ È¿À²ÀûÀÌ°ÚÁö¸¸ C++Àº ³ª¸§´ë·Î ±×·± ¾ð¾îµéÀÌ ³Ñº¼ ¼ö ¾ø´Â ÀåÁ¡À» °¡Áö°í ÀÖ´Ù. C ÀÌ¿Ü¿¡ C++¸¸Å ±âÁ¸ÀÇ ¹æ´ëÇÑ C APIµéÀ» Àß Áö¿øÇÏ´Â ¾ð¾î°¡ Àִ°¡?
(from 4r7yc0d3)
¿äÁò °è¼Ó PythonLanguage Äڵ带 C++·Î Æ÷ÆÃÇÏ¸é¼ STLÀÌ Å« ÈûÀÌ µÇ¾úÀ¸¸ç C++ ÀÇ ÀÇ¿ÜÀÇ ½ÉÇÃÇÔ¿¡ ³î¶ú´Ù. °á°úÀûÀ¸·Î ½ÇÁ¦ Äڵ差ÀÌ ÆÄÀ̽ã°ú Å©°Ô Â÷ÀÌ°¡ ³ªÁö ¾Ê¾Ò´Ù. ±×¸®°í ³í¶õÀÌ ¸¹Àº ´ÙÁß»ó¼ÓÀÇ °æ¿ìµµ ÅÛÇø´ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ¸é¼ Çʿ伺À» ´À³¢°Ô µÇ¾ú´Ù. (ÀÌ¿¡ ´ëÇÑ ¿¹Á¦°¡ Morden C++ Design ¿¡ ¾ð±ÞµÇ¾îÀÖ´Ù.)
ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀ̳ª ´Ù¾çÇÑ ÁÖÁ¦µéÀÌ ¾ÆÁ÷ C++Àº ´õ °øºÎÇغ¼¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Â ¾ð¾î¶ó´Â Èñ¸ÁÀ» ÁÖ°í ÀÖ´Ù. ½ÉÁö¾î boost¿¡ lambda(Functional Programming ¿¡¼ »ç¿ë) ±îÁö ±¸ÇöÇÑ ºÐµµ ÀÖ´Ù.
C++ÀÌ À§Çè¿ä¼Ò¸¦ ³»Æ÷ÇÏ°í Àִٱ⠺¸´Ù´Â ³Ê¹« ¸¹Àº °ÍµéÀ» Çã¿ëÇØ Á༠ÇÁ·Î±×·¡¸Ó°¡ À§Çè¿ä¼Ò¸¦ ³»Æ÷ÇÏ°Ô ¸¸µå´Â °ÍÀÌ ¾Æ´Ñ°¡ ÇÑ´Ù. ÇÊ¿ä ÀÌ»óÀÇ Æ÷ÀÎÅÍ ³²¹ß¸¸ ÀÚÁ¦Çϸé À§Çè¿ä¼Ò³ª ¸Þ¸ð¸® ´©¼ö °°Àº ¹®Á¦µéµµ Å©°Ô °ÆÁ¤Àº ¾øÀ» °Í °°´Ù. ³ ¿ÀÈ÷·Á °¡º£ÁöÄ÷º¼Ç ±â´ÉÀÌ ÂóÂóÇÏ´Ù.
(from corba)
°á±¹Àº »ç¿ëÀÚÀÇ ÀýÁ¦(?)¸¦ ¹Ï´À³Ä ¸¶´À³Ä¿¡ ´Þ¸° °Í °°´Ù.
±×·±µ¥ ÇÁ·ÎÁ§Æ®µéÀÌ ÀÛÀ»¶§´Â »ç½Ç º° ¹®Á¦°¡ ¾øÁö¸¸, ¹æ´ëÇØÁö¸é ¹æ´ëÇØÁú¼ö·Ï »ç¶÷Àº ¹Ï±â ¾î·Æ´Ù. ÀÚ¹Ù³ª C#°°Àº ¾ð¾î°¡ ±»ÀÌ ´ëµÎµÇ°í ÀÖ´Â °Ç (ÀÚ¹Ù´Â ¹¹ ¾îµð¼³ª ½ÇÇàÇÏÀÚ, ¶ó´Â °Ô ¸ñÀûÀ̾úÀ»Áø ¸ô¶óµµ) °á±¹ »ç¶÷À» ¹Ï±â ¾î·Æ´Ù´Â ºÎºÐÀÌ ¸¹Áö ¾ÊÀº°¡ ½Í´Ù. ÄÄÇ»ÅÍ°¡ ¸¹Àº °ÍÀ» ÀÚµ¿ÈÇØÁÖ¸é ÇØÁÙ¼ö·Ï ¹®Á¦°¡ Àû¾îÁø´Ù´Â ÀüÁ¦ ÇÏ¿¡ °¡º£Áö ÄÝ·º¼Çµµ ÇÏ´Â °ÍÀÌ°í, OOP Çüŵµ ´ÙÁß »ó¼ÓÀ» ÀýÁ¦ÇÏ´Â ÇüÅ·Π¹Ù²Û °ÍÀ¸·Î Çؼ®Çغ¼ ¼öµµ ÀÖ´Ù. »ç¶÷ÀÌ ¿Ïº®È÷ Çس½´Ù¸é ÀÌ·±ÂÊÀ¸·Î Èê·¯°¥ ÇÊ¿ä°¡ ÀÖÀ»±î?
(from vacancy)
5.1. Generic Programming ÀÇ µµÀÔ°ú °ü·ÃÇÑ ÄÄÆÄÀÏ·¯ ±¸Çö¹®Á¦ ¶ÀçÀοë
{{|
"ÀÚ¹Ù ÇÁ·Î±×·¡¸ÓÁß¿¡´Â GJÀÚ¹Ù¾ð¾îÀÇ È®Àå Á¦¾ÈÀ» ¹Þ¾ÆµéÀÌ´Â °æ¿ì ÀÚ¹ÙÀÇ ´Ü¼øÇÔÀ̳ª °£°áÇÔÀ» ÇØÄ¥°ÍÀ̶ó °ÆÁ¤ÇÏ´Â À̵éÀÌ Àִµ¥, À̴ Ʋ¸° »ý°¢ÀÌ´Ù, ¾î¶² ¾ð¾îÀÇ Ç¥Çö·ÂÀÌ ´Ã¾ú´Ù°í Çؼ ±× ¾ð¾îÀÇ ÀÇ¹Ì Ã¼°è¸¦ °íÃĽá¾ß ÇÑ´Ù¸é, ±× Ã¥ÀÓÀº ±×·± ±â¹ý¿¡ ÀÖ´Â°Ô ¾Æ´Ï¶ó ¾ð¾î ÀÚü¿¡ ÀÖ´Ù, Á¤¸» ÁÁÀº ¾ð¾î¶ó¸é Ç¥Çö·ÂÀ» ´õÇϱâ À§ÇØ ¾ð¾î¸¦ È®ÀåÇصµ ±âº»ÀÌ µÇ
´Â ¾ð¾îÀÇ ¾Ë¸ÍÀÌ°¡ µÚƲ¸®°Å³ª ÈåÆ®·¯ÁöÁö ¾ÊÀ¸¸ç ºÒ¾î³ªÁöµµ ¾Ê´Â´Ù"
-- ±èÀç¿ì, (¸¶ÀÌÅ©·Î ¼ÒÇÁÆ®¿þ¾îÀÇ 2002³â 01¿ùÈ£ "´õ ³ôÀº ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è Haskell·Î °¡ÀÚ" Áß)
|}}
¾ð¾î°¡ È®ÀåµÇ°í ¹æ´ëÇÏ´Ù°í Çؼ ¾ð¾î°¡ ³ªºüÁöÁø ¾Ê´Â´Ù. C++Àº ¾ð¾îÀûÀÎ Ãø¸é¿¡¼ C¸¦ È®ÀåÇÏ°í ¼ö¸¹Àº Æз¯´ÙÀÓÀ» Èí¼öÇÑ°Í»ÓÀ̸ç, ¾ð¾îÀûÀθ鿡¼ ¾öû³ ¹ßÀüÀ» ÀÌ·ç¾ú´Ù°í º¼¼ö Àִ°ÍÀÌÁö ÀÌ·¸°Ô ¹æ´ëÇÏ°Ô ´À²¸Áö´Â°ÍÀ» , ¾ð¾îÀûÀÎ Ãø¸é¿¡¼ ´Ü¼øÇÏÁö ¾Ê´Ù¸ç ³ª»Ú´Ù°í ÁÖÀåÇϴ°ÍÀº À߸øµÆ´Ù°í º»´Ù.
{{|
"ÀÚ¹Ù°¡ Àß ¼³°èµÈ ¾ð¾î¶ó¸é GJÁ¦¾ÈÀº ºÎ´ãÀÌ ¾Æ´Ï¶ó ºÒÆíÇÏ°í ¸ðÀÚ¶ó´Â ºÎºÐÀ» ä¿öÁÖ´Â Ä¡·áÁ¦°¡ µÉ °ÍÀÌ Æ²¸²¾ø°í,´õ±¸³ª ±×°ÍÀÌ GJÁ¦¾ÈÀ̶ó¸é Ãß°¡µÈ Ư¡À» ¾²Áö ¾Ê´Â ¹ÙÀ̳ʸ®¿Í ¿ÏÀüÇÑ È£È¯¼ºÀ» º¸ÀåÇÏ´Â ±â¼úÀ̶ó Å« ¹®Á¦°¡ ¾ø´Ù"
-- ±èÀç¿ì
|}}
À§¿¡¼ ±èÀç¿ì¾¾°¡ ¸»ÇÑ GJ°¡ ¹®Á¦°¡ µÇÁö ¾Ê´Â °ÍÀº ÅÛÇø´°ú °°Àº °ÍÀº ÀÚ·áÇü¿¡ ¸Â°Ô ±× ¸íĪ¿¡ ¸Â´Â ÇÔ¼ö³ª Ŭ·¡½º¸¦ ´õ ¸¸µé¾îÁÖ¸é ÇØ°áµÇ´Â ¹®Á¦¶ó¼ ½ÇÁúÀûÀ¸·Î Java ÀÚü°¡ ¼öÁ¤µÇ´Â °ÍÀº ¾ø´Ù. GJ°°Àº °ÍÀº µµÀÔÇصµ ÁÁ´Ù. ÇÏÁö¸¸ ±×°Í°ú C++´Â ³í¿ÜÀÌ´Ù.
ÅÛÇø´ °°Àº °ÍÀ» µµÀÔÇÑ´Ù¸é ¾ð¾îÀÇ Çü½ÄÀº ´Ã¾î³ª¼ Ç¥Çö·ÂÀº ´Ã¾î³ª°Ô µÇÁö¸¸ ÄÄÆÄÀÏ·¯µç ÇÁ¸®ÇÁ·Î¼¼¼µç ÀÚ·áÇü¿¡ ¸ÂÃç¼ ÇÔ¼ö¿Í Ŭ·¡½º¸¦ ¸î°³ ´õ ¸¸µé¾î ÁÖ¸é µÇ´Â ¹®Á¦ÀÌ´Ù. VMÀ̳ª ÄÄÆÄÀÏ·¯ÀÇ ±¸Á¶ÀûÀÎ º¯°æ¾øÀÌ ±â´ÉÀ» Çâ»ó½Ãų¼ö ÀÖ´Ù¸é Ç¥Çö·ÂÀÇ ¹æÇâÀ̳ª VM°ú ÄÄÆÄÀÏ·¯ÀÇ ¾ÈÁ¤¼ºÀÇ Ãø¸éÀ̳ª ȯ¿µ¹ÞÀ» ¼ö ÀÖ´Ù. ÇÏÁö¸¸ C++Àº CÄÄÆÄÀÏ·¯ÀÇ ±¸Á¶ÀûÀÎ º¯È ¾øÀÌ ºÒ°¡´ÉÇÏ°í ³ÇØÇÏ´Ù. c++ÀÇ export¿Í °°Àº Å°¿öµå´Â Bobby Schmid°¡ Àå¹®ÀÇ ±Û·Î ¾ÇÆòÀ» ÇÒ¸¸Å ÁÁÁö ¸øÇÏ´Ù.
C++ÀÇ Æз¯´ÙÀÓÀÌ ¸íÈ®Çß´Ù¸é vc++µµ Ç¥ÁØÀ» ÁöÄ×À» °ÍÀÌÁö¸¸, ÇöÀç´Â gccÁ¶Â÷µµ ÁöÅ°Áö ¸øÇÏ°í ÀÖ´Ù.
(from CN ´Ô ±ÛÁß)
C++ Ç¥ÁØÀÌ 100% ¸íÈ®ÇÏÁø ¸øÇÏ´Ù. Effective STL¿¡¼ º¸¸é Ç¥ÁØÈ ÀÇ¿øµéÀÌ vector<bool>¿¡ ´ëÇØ À߸ø Á¤ÀÇÇß´Ù°í ÇÑ´Ù. Àǹ̳ª ¸íÈ®¼ºÀÌ, ¼º¸³ÇÒ¼ö ¾ø´Â°ÍÀ» Ç¥ÁØÈ ½ÃÄ״ٴ°ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀÌ Æз¯´ÙÀÓ ¹®Á¦¶ó±â º¸´Ù´Â ±â¼úÀûÀÎ ºÎºÐ¿¡ °üÇÑ ºÎºÐÀÌ´Ù.
ÇöÀç Ç¥ÁØ¿¡ 99.70% ºÎÇÕÇÏ´Â C++ ÄÄÆÄÀÏ·¯°¡ Á¸ÀçÇÑ´Ù. intel C++ ÄÄÆÄÀÏ·¯µµ 99.51% ÁöÅ°°í ÀÖÀ¸¸ç VC++ 7.1¶ÇÇÑ 98%ÀÌ»ó ÁöÅ°°í ÀÖ´Ù. gcc°¡ Ç¥ÁØÀ» ¿Ïº®È÷ Áö¿øÇÏÁö ¸øÇÏ´Â°Ç ¼øÀüÈ÷ GNUÂÊ¿¡¼ ¿Ïº®È÷ Áö¿øÇϱ⿡ ¿©·ÂÀÌ ¾ø´Â°ÍÀÌÁö, Æз¯´ÙÀÓÀÌ ¸íÈ®ÇÏÁö ¸øÇؼ´Â ¾Æ´Ï¶ó º»´Ù. ÇÏÁö¸¸ ¹öÀüÀÌ ¿Ã¶ó°¥¼ö·Ï Ç¥ÁØ¿¡ ¿Ïº®È÷ °¡±î¿öÁö°í Àִµ¥, 3.3Àº 96%ÀÌ»ó ÁöÅ°°í ÀÖ´Ù.
(http://anubis.dkuug.dk/jtc1/sc22/wg21/)
VC++ 6.0ÀÌ Ç¥ÁØÀ» ÁöÅ°Áö ¸øÇÑ°Ç VC++»ó¾÷¼ºÀ» ÀÌ¿ëÇÑ ºñÇ¥ÁØ ¹æÇâÀ¸·Î ÄÄÆÄÀÏ·¯¸¦ ¸¸µé¾ú±â¶§¹®±â¶§¹®ÀÌ°í , Ç¥ÁØ ÀÚü°¡ ¿ö³« ¹æ´ëÇؼ ¿ÏÀüÈ÷ ¸¸Á·½ÃÅ°±â ¾î·Æ±â ¶§¹®À̱⵵ ÇÏ´Ù. ¾ð¾î°¡ ¹æ´ëÇØÁö¸é ÄÄÆÄÀÏ·¯ ¸¸µé±â´Â ¿ø·¡ ¾î·Æ´Ù. Ç¥ÁØ°ú Æз¯´ÙÀÓ°úÀÇ °ü°è¸¦ À߸ø ¿¬°á½ÃŲ°Ô ¾Æ´Ñ°¡? ÀÚ¹Ù¿¡ GJ°¡ Á¦¾ÈÇÑ Ç¥ÁØÀ» Ãß°¡ÇÑ´Ù¸é ÀÚ¹Ù ¿ª½Ã ¹®¹ýÀ» ÁöÅ°±âÀ§ÇØ ÄÄÆÄÀÏ·¯°¡ Á»´õ º¹ÀâÇØ Áú °ÍÀÌ´Ù. ÀÌ°Ç ºñ´Ü C++¸¸ÀÇ Ç¥ÁØ ¹®Á¦°¡ ¾Æ´Ï¶ó »ý°¢ÇÑ´Ù.
Ç¥ÁØÈ¿¡ ´ëÇØ ´õ ¸»¾¸ µå¸®ÀÚ¸é posix Ç¥Áصµ »ç½Ç ¿Ïº®ÇÏÁö ¾ÊÀ¸¸ç ¿À·ù¶ÇÇÑ Àִ°ɷΠ¾Ë°í ÀÖ´Ù. µû¶ó¼ posix Ç¥Áصµ °è¼Ó ¹ßÀüÇÏ°í ÀÖ´Ù. C++µµ ¸¶Âù°¡Áö¶ó º»´Ù. C¾ð¾îµµ ¿¹Àü Ç¥ÁØ ´ë½Å C99 Ç¥ÁØÀÌ ³ª¿Â°Í ¿ª½Ã ±âÁ¸ÀÇ Ç¥ÁØ¿¡ ºÎÁ·ÇÑÁ¡ÀÌ ¸¹±â¶§¹®¿¡ ³ª¿Â°Ô ¾Æ´Ñ°¡ »ý°¢ÇÑ´Ù. Æз¯´ÙÀÓ°ú Ç¥ÁØÀ» ¿¬°á½ÃÅ°±â¿¡´Â ¹«¸®°¡ ÀÖ´Ù°í º»´Ù.
(from mastercho ´Ô ±ÛÁß)
(CN ´Ô ±ÛÁß Ç¥ÁØ°ú Æä·¯´ÙÀÓ ¿¬°á½ÃŲ ±ÛÀ» ¸øãÀ½. ³»¿ëÀ» ã°Å³ª, ³»¿ëÀ» ¸øã¾ÒÀ» °æ¿ì °ü·Ã ÀÇ°ß »èÁ¦ ÇÊ¿ä)
¾ð¾î°¡ ¹æ´ëÇØÁö¸é ÄÄÆÄÀÏ·¯¸¦ ¸¸µé±â ¾î·Æ´Ù´Â °Í¿¡ µ¿ÀÇÇÏÁö¸¸ ÅÛÇø´°ú °°Àº °³³äµéÀº ±¸Á¶ÀûÀ¸·Î ÄÄÆÄÀÏ·¯ÀÇ Å« º¯°æÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Ù. ÄÄÆÄÀÏ·¯´Â ¿À¹ö·ÎµùµîÀ» °¨¾ÈÇؼ Ŭ·¡½º, ÇÔ¼öÀÇ ³×ÀÓÀ» ÀÚÀÇÀûÀ¸·Î º¯°æ½Ãŵ´Ï´Ù. ÅÛÇø´ Çϳª°¡ ³¢¾îµç´Ù°í ³×ÀÓ½ºÆäÀ̽º°¡ È¥¶õÇØÁö°Å³ª ÄÄÆÄÀÏ·¯ÀÇ ±¸Á¶°¡ ¹Ù²îÁö´Â ¾Ê´Â´Ù.
(from CN ´Ô ±ÛÁß)
5.2.1. ȣȯ¼º ¹®Á¦ - ¹®ÀÚ¿ »ó¼ö, struct, const ¶int°¡ 2byteÀÎ ½Ã½ºÅÛ¿¡¼ int x='hi'´Â c¿¡¼´Â ¸Â´Ù. ¹®ÀÚ¿ »ó¼öµµ c¾ð¾î¿¡¼´Â intÇüÀ¸·Î Á¤ÀǵǾî ÀÖ´Ù. 'hi'¿Í "hi"´Â ´Ù¸£´Ù. Çϳª´Â intÇüÀÇ Å©±âÀÌ°í Çϳª´Â 3byteÀÌ´Ù. c¿¡¼ ¹®ÀÚ¿ »ó¼ö´Â intÇüÀÇ ÀڷḦ Ç¥ÇöÇÏ´Â ¿ëµµ¸¦ °°ÀÌ °¡Áö±â ¶§¹®ÀÌ´Ù. ¹Ý¸é¿¡ c++¿¡¼´Â charÇüÀº 1 byteÀÌ´Ù. ´ç¿¬ÇϵíÀÌ c++¿¡¼´Â trucateÇعö¸°´Ù. À§¿¡¼ ¸»Çß´ø "hi"·Î 'hi'¸¦ ´ëüÇÒ¼ö ¾ø´Ù. ´õ ºñ½Ñ ºñ¿ë ¶Ç´Â ÄÚµåÀÇ º¯°æÀÌ ÇÊ¿äÇÏ´Ù.
struct move {
struct position { int m; }; }; struct move gundam; // c, c++ move gundam; //c++ struct position man; //c move::position man; //c++ c++À¯ÀúµéÀÌ ¸¹ÀÌ ¾²´Â ÇüÅÂÀÎ struct, classÀÇ »ý·«ÇüÀº ´ç¿¬È÷ È£¿ÏµÇÁö ¾Ê°í ÁßøµÈ struct´Â ¿Ïº®ÇÏ°Ô È£È¯µÇÁö ¾Ê´Â´Ù.
ÀÌ·± °æ¿ì°¡ µå¹°°Ô ³ªÅ¸³´Ù¸é ¾Æ·¡ÀÇ ¼Ò½º¸¦ Âü°í.
int nice = 50;
int main(void) { struct nice { int cn; }; nice = 40; return EXIT_SUCCESS; } ÀÌ ÄÚµå´Â c¾ð¾î¿¡¼´Â Á¤È®ÇÑ ÄÚµåÀÌÁö¸¸ c++¿¡¼´Â ¾Æ´Ï´Ù. c¾ð¾î¿¡¼´Â ´ç¿¬È÷ nice¶ó´Â °ÍÀº tagÀÔ´Ï´Ù¸¸ c++¿¡¼´Â classÀÇ ¸íĪ°ú °°Àº namespace¸¦ ¸Ô´Â objectÀÇ À̸§ÀÌ µÇ¾î¹ö¸°´Ù. ÀÌ·¯ÇÑ Á¡¿¡¼ c¿Í c++Àº ÃæºÐÈ÷ ´Ù¸¥¼¼°èÀÌ´Ù. c++¿¡¼ÀÇ struct´Â µðÆúÆ®°¡ publicÀÎ classÀÏ»ÓÀÌ´Ù. ¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ private°¡ ÇÊ¿äÇÏÁö ¾ÊÀº Ŭ·¡½º ±¸ÇöÀ» À§Çؼ struct¸¦ »ç¿ëÇÑ´Ù.
»ó¼ö ¼ö½Ä°ú lvalueÁ¤ÀÇ°¡ c¿Í c++Àº ´Ù¸£°Ô Á¤ÀǵǾî ÀÖ°í ±×·¡¼ constÀÇ ±¸ÇöÀÌ ´Ù¸£°Ô µÇ¾îÀÖ´Ù. ¸ð½À°ú ¿ªÇÒÀÌ ºñ½ÁÇصµ ´Ù¸¥ ¹æ¹ýÀ» ÅëÇؼ ±¸ÇöÀÌ µÇ¾î ÀÖ´Â °ÍÀÌ´Ù. lvalueµµ c¾ð¾î¿¡¼´Â Áº¯°ªÀÌ ¾Æ´Ï¶ó locate valueÀÌ´Ù. ±¸ÇöÀÌ ´Þ¶ó¼ ´Ù¸£°Ô ¸ÔÈ÷´Â ¿¹·Î¼´Â const¸¦ ¸ÔÈù int·Î ¹è¿À» Á¤ÀÇÇغ¸¸é ¾Ë ¼ö ÀÖ´Ù.
(from CN ´Ô ±ÛÁß)
Àú·¯ÇÑ Äڵ忡 °üÇѺκÐÀº ¾î¿¼ö ¾ø´Ù°í »ý°¢µÈ´Ù. WanningÀ̳ª ÄÄÆÄÀÏ·¯ ¿¡·¯¸¦ ã¾Æ ¼öÁ¤À» ÇÒ¼ö ¹Û¿¡ ¾ø´Ù°í »ý°¢ÀÌ µç´Ù. C++ÀÇ ±â´ÉÀ» ¾²±â À§ÇØ º¯°æÇϴ°Ŷó¸é, ÀÌÁ¤µµ´Â ¾î¿¼ö ¾øÀÌ °¨¼öÇØ¾ß ÇÑ´Ù°í º»´Ù. ÇÏÁö¸¸, ¹®ÀÚ¿ »ó¼ö¸¦ intÇüÀ¸·Î ½è´Ù¸é ¿ÀÈ÷·Á ´õ ¾ÈÁÁÀº ÇÁ·Î±×·¡¹Öó·³ º¸ÀδÙ.
(from mastercho ´Ô ±ÛÁß)
C¾ð¾î´Â º¸´Ù Áö¿øÀÌ ÁÁÁö ¸øÇÑ È¯°æ¿¡¼µµ ³Î¸® ¾²ÀδÙ. C¾ð¾îÀÇ Ç¥ÁØÀº ±×·± ÁÁÁö ¸øÇÑ È¯°æÀ» °¨¾ÈÇؼ ¸¸µé¾îÁø´Ù.
(from CN ´Ô ±ÛÁß)
C¿Í C++Àº ´Ù¸¥ ¼¼°è¶ó´Â°Í¿¡ µ¿°¨À» ÇÑ´Ù. ´Ù¸¸ CÀÇ Äڵ尡 C++ ÄÄÆÄÀÏ·¯¿¡¼ ¼öÁ¤¾øÀÌ ÄÄÆÄÀÏ µÇ¸ç °á±¹ CÄÄÆÄÀÏ·¯¿¡¼ ÄÄÆÄÀÏÇÑ°Å¿Í °°ÀÌ ¶È°°ÀÌ ÀÛµ¿À» ÇØÁشٴ Àǹ̴Ù. (100%´Â ¾Æ´ÏÁö¸¸) ´ç¿¬È÷ C++¿¡¼ »ç¿ëÇÏ´Â ¹æ½ÄÀ̳ª Àǹ̰¡ C·Î°¡´Â ¹æÇâÀ¸·Î´Â ¼º¸³ÇÏÁö ¾Ê´Â´Ù. C++ÀÌ C¿Í ȣȯ¼ºÀÌ Àִٴ°ÅÁö C°¡ C++°ú ȣȯ¼ºÀÌ ÀÖ´Ù´Â ¸»Àº ¾Æ´Ï´Ù.
(from mastercho ´Ô ±ÛÁß)
À§¿¡¼ C¾ð¾îÀÇ ¼Ò½º°¡ C++¿¡¼ µÇÁö ¾Ê´Â °æ¿ìÀÇ ¿¹°¡ µÈ´Ù. ÁÖ¼®À¸·Î C¿Í C++¿¡¼ °°Àº Àǹ̸¦ ´Ù¸£°Ô Ç¥ÇöÇÏ´Â °æ¿ì¸¦ Ç¥½ÃÇصξú´Ù. c¾ð¾î¿¡¼ struct´Â tag°¡ °°´õ¶óµµ ´Ù¸¥ ÀÚ·áÇüÀ¸·Î ÀνÄÇÏ°í tag´Â ÀÚ·áÇüÀÇ namespace¿Í º°°³·Î ¿î¿µµÈ´Ù. ´çÀå¿¡ c¼Ò½ºµéÀÇ È®ÀåÀÚ¸¦ cpp·Î ¹Ù²ãµµ namespaceÀÇ Ãæµ¹·Î ¹®Á¦°¡ µÇ´Â ÇÁ·Î±×·¥µéÀÌ ¸¹´Ù.
c++ÀÇ ´ëºÎºÐÀÇ Æ¯¼º¿¡¼ ±â¼úÀûÀÎ ¹®Á¦Á¡À» ãÀ» ¼ö ÀÖ´Ù. ½ÉÁö¾î ÅÛÇø´À̳ª ¿¹¿Ü¿¡¼µµ ãÀ» ¼ö ÀÖ´Ù. c++ÀÇ Ç¥ÁØÁ¶Â÷µµ ±ò²ûÇÏ°Ô Á¤ÀǸ¦ ³»¸®Áö ¸øÇÏ´Â ºÎºÐµéµµ ¸¹´Ù. ±×¸®°í Æз¯´ÙÀÓÀº ¸Å·ÂÀûÀ¸·Î º¸ÀÌÁö¸¸ ½ÇÁ¦·Î´Â ³ª»Û ºÎºÐµµ ÀÖ´Ù. RTTI°°Àº °³³äµéÀº ±× ÀÚü·Î ³ª»Ú´Ù°í º»´Ù.
Bobby Schmid´Â MicrosoftÂÊÀÇ »ç¶÷ÀÌ´Ù. VC++ 6.0½ÃÀý¶§ ¾ÆÁ÷ ¾ÈµÇ´Â ±â´É°ú °³¼±ÇØ¾ß ÇÒÁ¡°ú Ç¥ÁØ¿¡¼ ÁöÅ°Áö ¸»¾Æ¾ßÇÒ ³ª»Û Á¡À» ÁöÀûÇß´Ù. ±×´Â ÅÛÇø´, RTTI, ¿¹¿Ü, ³×ÀÓ½ºÆäÀ̽º µî c++ÀÇ ´ëºÎºÐÀÇ ºÎºÐ¿¡¼ ±â¼úÀûÀÎ ¿À·ù¿¡ ´ëÇؼ ºñÆÇÇß´Ù. Ç¥ÁØÀÌ ¹æ´ëÇÑ °Í¸¸ÀÌ ÀÌÀ¯´Â ¾Æ´Ï¶ó°í º»´Ù.
Ç¥ÁØÀÇ ºÒ ¿ÏÁ¤¼º¿¡ ´ëÇؼ´Â µ¿ÀÇÇÑ´Ù. ÇÏÁö¸¸ ¸¹Àº c++ÀÇ Æз¯´ÙÀÓÀº ad hocÀÎ ºÎºÐÀÌ ÀÖ´Ù. c++Àº °·ÂÇÏÁö¸¸ Àß »ç¿ëÇØ¾ß ÇÏ´Â ¾ð¾î´Ù.
(from CN ´Ô ±ÛÁß)
5.3. ºñÁ¤¸® (Á¤¸® Ãß°¡) ¶BjarneStroustrupÀÇÃ¥³»¿ë¿¡¼ Historical Note¿¡ º¸¸é C++Àº C with Class·Î óÀ½¿¡ ºÒ·ÁÁ³À¸¸ç ÃßÈÄ C++·Î ºÎ¸£°Ô µÈ ÀÌÀ¯°¡,C¿¡¼ ±â´ÉÀ» ´õÇÑ + °á±¹ C+·Î ºÎ¸£·Á´Ù°¡ C+¶ó´Â°Ô C¿¡¼ syntax errorÀ̱⶧¹®¿¡ C++·Î ÇÏ¿´´Ù°í ÇÑ´Ù.
(from nightfog)
C++´Â ¾ð¾îÀûÀ¸·Î C¸¦ È®ÀåÇÑ °ÍÀÌ ¾Æ´Ï´Ù. struct³ª constµî °°Àº Å°¿öµå´Â ºñ½ÁÇÒ °¡´É¼ºÀÌ ÀÖÁö ȣȯµÇÁö ¾Ê´Â´Ù. C90ÀÌ»óÀÇ C·Î Â¥¿©Áø ´ëÇü ÇÁ·ÎÁ§Æ®¸¦ C++À¸·Î ¿Å±æ¶§ ¹®Á¦Á¡ÀÌ ¹ß»ýÇÒ¼ö ÀÖ´Ù.
C++ÀÇ ÅÛÇø´°°Àº ±â´ÉµéÀº ¸Å¿ì ÈǸ¢ÇÏ´Ù°í »ý°¢ÇÏÁö¸¸ export¿Í °°Àº Å°¿öµå´Â ÄÄÆÄÀÏ·¯°¡ Áö¿øÇصµ ¾²°í ½ÍÁö ¾Ê´Ù. C++ÀÌ ¹æ´ëÇØÁö¸é¼ ÀåÁ¡°ú ´ÜÁ¡À» °¡Á³´Âµ¥ ÀåÁ¡À» °ñ¶ó½á¾ß ÇÑ´Ù.
ÇöÀçÀÇ C¾ð¾î´Â C++ÀÇ subsetÀÌ µÇÁö ¸øÇÑ´Ù.
C++Àº óÀ½¿¡ C¾ð¾î·Î ±¸ÇöµÇ¾ú´Ù. C¾ð¾î¸¦ È®Àå¿¡¼ C++ÀÌ ÇöÀç Ãß±¸ÇÏ´Â Æз¯´ÙÀÓ¿¡ ¸Â°Ô²û ¼öÁ¤ÇÑ °ÍÀÌ´Ù. Áö±ÝÀº °ÅÀÇ µ¶¸³µÇ¾ú½À´Ï´Ù¸¸Àº ,C++ÀÇ ¹ßÀü»ç ÀڷḦ ã¾Æº¸½Ã¸é C¿¡¼ È®ÀåÇÑ ³»¿ëÀ» ½±°Ô ãÀ»¼ö ÀÖ´Ù°í º»´Ù. À̺κÐÀº ¿ÀÇØÀÇ ¿©Áö°¡ ³²¾ÆÀֱ⶧¹®¿¡, µüÈ÷ ¸ð¶ó ÇÒ¼ø ¾ø°ÚÁö¸¸ ´Ü¼øÈ÷ ´Ü´äÇüÀ¸·Î "¾Æ´Ï´Ù"¶ó°í ¸»Çϱ⿣ ºÒ¸¸ÀÌ ÀÖ´Ù.
±×¸®°í C90ÀÌ»ó ¿¡¼ Â¥¿©Áø ´ëÇü ÇÁ·ÎÁ§Æ®°¡ C++·Î ³Ñ¾î°¡¸é, ¹®Á¦ÀÇ ¼ÒÁö°¡ ÀüÇô ¾øÀ»¼ö´Â ¾ø´Ù. ÇÏÁö¸¸ ¹®Á¦ÀÇ °æ¿ì°¡ ŸÀÔ °È·Î ÀÎÇѺκа°Àº ºÎºÐ¿¡¼ ¹®Á¦¶ó¸é ¹®Á¦°¡ µÉ¼ö ÀÖÁö¸¸, ÀÌ°Ç ¿ÀÈ÷·Á ÇÁ·Î±×·¥À» Cº¸´Ù ´õ °ß°íÇÏ°Ô ÇØÁÖ´Â C++ÀûÀÎ ¸éÀ̱⶧¹®¿¡, ¹®Á¦ »ï±â´Â Á¶±Ý °ï¶õÇÏ´Ù. µû¶ó¼ ¾î¶²¸é¿¡¼ ½É°¢ÇÑ ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö ±Ã±ÝÇÏ´Ù.
(from mastercho ´Ô ±ÛÁß)
6.1. C ÀÌ¿ÜÀÇ, C API ¸¦ Áö¿øÇÏ´Â ¾ð¾î ¶C++
Objective-C
C++ º¸´Ù´Â Objective-C°¡ ´õ Àß Áö¿øÇÑ´Ù. ÀüÇô Â÷ÀÌ°¡ ¾ø´Ù. C¿¡´Ù°¡ Smalltalk ¹æ½ÄÀÇ °´Ã¼ ¹æ½ÄÀ» Ãß°¡Çß´Ù.
(from chunsj ´Ô ±ÛÁß)
Objective-C´Â C¾ð¾îÀÇ ¿Ïº®ÇÑ SupersetÀÌ´Ù. CÀÇ Àṉ̀¸Á¶¸¦ µ¿ÀÏÇÏ°Ô »ç¿ëÇÏ¸é¼ °´Ã¼µîÀÇ Ãß°¡µÈ °³³ä¿¡ ´ëÇؼ´Â ´Ù¸¥ ¹æ¹ýÀ¸·Î Á¢±ÙÇÑ´Ù. ´Ù¸¥ Æз¯´ÙÀÓÀ» ¼¯À»¶§¿¡´Â Objective-C³ª GJ°°ÀÌ ¼¯¾î¾ß ÇÑ´Ù°í º»´Ù.
ÇÏÁö¸¸ ÄÄÇ»ÅÍ¿¡ ÇÑ°¡Áö ¾ð¾î¸¸ ±ò¼ö ÀÖ´Ù¸é Objective-Cº¸´Ù´Â C++À» ¼±ÅÃÇÏ°Ú´Ù.
(from CN ´Ô ±ÛÁß)
6.2. ±âŸ ¶C++ÀÌ ¾Æ´Ï¶ó ¾î¶² ¾ð¾î¸¦ ¾²´õ¶óµµ ºÎÁ·ÇÑ ´É·ÂÀÇ »ç¶÷ÀÌ ¾²¸é À¯Áö º¸¼ö´Â ºÒ°¡ÇÏ´Ù.
(from astercho ´Ô ±ÛÁß)
C++ÀÌ ÁÁÁö ¾ÊÀ¸¹Ç·Î Àý´ë ½á¼´Â ¾ÈµÈ´Ù´Â ¸»Àº Ʋ¸° ¸»ÀÌ´Ù.
±×·¯³ª ±× ¸ñÀû¿¡ µû¶ó¼ ÁÁÁö ¾ÊÀ» ¼öµµ ÀÖ°í ƯÈ÷ À§¿Í °°Àº °æ¿ì°¡ °¡Á¤ Áß¿äÇÑ ¸ñÇ¥¶ó¸é C++´Â ¼±Åà ´ë»óÀÌ ¾Æ´Ï´Ù.
°´Ã¼ ½ºÅ¸ÀÏÀÇ(AlanKay°¡ ¸»ÇÑ °Í ó·³ C++°¡ OOP¶ó´Â ¸»À» µéÀ» ¼ö Àֱ⿡´Â ³Ê¹« ¸ðÀÚ¶õ´Ù. ¾Æ´Ï¸é ³Ê¹« ¸Ö¸® Àְųª...)
ÇÁ·Î±×·¡¹ÖÀ» Àû´çÈ÷ ÀÌ¿ëÀ» Ç쵂 Á¤ÀûÀÎ Çü°Ë»ç°¡ Áß¿äÇÏ°í ¼º´ÉÀÌ ²Ï,
±×·¯³ª ÃÖ°íÀÇ ¸ñÇ¥´Â ¾Æ´Ñ,
±×·± °æ¿ì°¡ °¡Àå C++°¡ ÀûÀýÇÑ °æ¿ì°¡ ¾Æ´Ò±î ÇÑ´Ù.
°´Ã¼ ½ºÅ¸ÀÏÀÇ(Alan Kay°¡ ¸»ÇÑ °Í ó·³ Àúµµ C++°¡ OOP¶ó´Â ¸»À» µéÀ» ¼ö Àֱ⿡´Â ³Ê¹« ¸ðÀÚ¶ø´Ï´Ù. ¾Æ´Ï¸é ³Ê¹« ¸Ö¸® Àְųª...) ÇÁ·Î±×·¡¹ÖÀ» Àû´çÈ÷ ÀÌ¿ëÀ» Ç쵂 Á¤ÀûÀÎ Çü°Ë»ç°¡ Áß¿äÇÏ°í ¼º´ÉÀÌ ²Ï, ±×·¯³ª ÃÖ°íÀÇ ¸ñÇ¥´Â ¾Æ´Ñ, ±×·± °æ¿ì°¡ °¡Àå C++°¡ ÀûÀýÇÑ °æ¿ì°¡ ¾Æ´Ò±î ÇÑ´Ù.
(from chunsj)
ÁÁÀº Ç¥ÇöÀ» ã¾Ò´Âµ¥, ´ÙÁß Æз¯´ÙÀÓÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â C++°¡ C¾ð¾î ºñ½ÁÇÑ °è¿Áß¿¡¼ °¡Àå ÈǸ¢ÇÕ´Ï´Ù. ÀÌ°Ô µ¶ÀÌ µÉ ¼öµµ, µæÀÌ µÉ ¼öµµ ÀÖÁö¸¸, ªÀº °æÇèÀ¸·Îµµ ÀÌ·± °ÍµéÀÌ ÇÊ¿äÇÒ ¶§°¡ ÀÖ¾ú½À´Ï´Ù. - chunsj
6.3. ¹®¼±¸Á¶Á¶Á¤ ÀÛ¾÷ ÀÇ°ß ¶RenameThisPage to CAndCPlusPlus or CAndCPlusPlusIssues ?
KLDP WikiÀÇ °æ¿ì ¾ÆÁ÷ Naming Rule ÀÌ ¸íÈ®ÇÏÁö ¾ÊÀº ÁßÀÌ¿©¼, ¾î¶²°ÍÀÌ°Ç ±¦ÂúÀ» °Í °°½À´Ï´Ù. (CAndCPlusPlusDiscussion?
ÀúÀÚ À̸§ÀÌ ÀüºÎ ¾ø´Âµ¥¿ä. ÀúÀÇ °æ¿ì À§ÀÇ ±ÛÀÌ ¿ÏÀüÇÑ Document Mode °¡ ¾Æ´Ï¶ó »ý°¢µË´Ï´Ù.(Áï, ±ÛÀ» ¾´ »ç¶÷ ³»¿¡ ´Ù°°ÀÌ °ø°¨ÇÏ´Â ºÎºÐÀÌ Document Mode ·Î¼ ÀϹÝȵǰÚÁÒ) ¶Ç´Â °³°³ÀεéÀÇ °æÇèµéµµ ÀÖ°Ú°í¿ä. ±×·¯ÇÑ ºÎºÐÀº ±×³É ÀúÀںеéÀÇ À̸§À» ³²°ÜµÎ´Â°ÍÀÌ ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ»±î »ý°¢ÇÕ´Ï´Ù. --1002
Contributors´Â ÀÌ ¹®¼ ÀÛ¾÷¿¡ Á÷Á¢ Âü¿©ÇÏÁö ¾ÊÀº »ç¶÷À» ¾²¸é ¾ÈµÇ°ÚÁÒ. ±Û¾´ÀÌ´Â °¢ Àο뿡 Ç¥±âµÇ¾î ÀÖÀ¸¹Ç·Î ¾µ ÇÊ¿ä ¾ø°Ú±¸¿ä. Contributors´Â ¾Ö¸ÅÇÑ Á¡ÀÌ ÀÖÀ¸¹Ç·Î, Á» ´õ ¼³¸íÀûÀ¸·Î ¹®¼ÀÏÁö (ȤÀº ¹®¼¹Ù²ïÁ¡)¶ó°í ÇÏ¿© ¸Ç ÇÏ´Ü¿¡ ¾²´Â °ÍÀ¸·Î ÇÏ°Ú½À´Ï´Ù. --WkPark
|
His heart was yours from the first moment that you met. |