¡Ú ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¡Ú
»õ·Î¿î C++11¿¡¼ ´Ù·ç´Â ³»¿ë
¡á º´Ç༺ Áö¿ø
¡á Á¤±Ô Ç¥Çö½Ä, ÀÚ¿ø °ü¸® Æ÷ÀÎÅÍ, ³¼ö, °³¼±µÈ ÄÁÅ×À̳Ê
¡á ¹ü¿ëÀÇ ÅëÀÏÈµÈ ÃʱâÈ, ´Ü¼øÈµÈ for ¹®, À̵¿ ÀÇ¹Ì ±¸Á¶, À¯´ÏÄÚµå Áö¿ø
¡á ¶÷´Ù, ¹ü¿ë »ó¼ö Ç¥Çö½Ä, Ŭ·¡½º ±âº» ¼³Á¤¿¡ ´ëÇÑ Á¦¾î, °¡º¯ÀÎÀÚ ÅÛÇø´, ÅÛÇø´ º°Äª, »ç¿ëÀÚ Á¤ÀÇ ¸®ÅÍ·²
¡á ȣȯ¼º À̽´
ÀÌ Ã¥¿¡¼ ´Ù·ç´Â Á¾ÇÕÀûÀÎ ³»¿ë
¡á ±âº» ±â´É: ŸÀÔ, °´Ã¼, À¯È¿ ¹üÀ§, ÀúÀå°ø°£, °è»êÀÇ ±âº» ¹× ±âŸ
¡á ³×ÀÓ½ºÆäÀ̽º, ¼Ò½º ÆÄÀÏ, ¿¹¿Ü 󸮿¡ ÀÇÇØ Áö¿øµÇ´Â ¸ðµâ¼º
¡á ÀüÅëÀûÀÎ ÇÁ·Î±×·¡¹Ö, °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö, ÀϹÝÈ ÇÁ·Î±×·¡¹ÖÀÇ ÅëÇÕÀ» Áö¿øÇÏ´Â ÇüÅ·μ Ŭ·¡½º, Ŭ·¡½º °èÃþ ±¸Á¶, ÅÛÇø´À» Æ÷ÇÔÇÏ´Â C++ Ãß»óÈ
¡á Ç¥ÁØ ¶óÀ̺귯¸®: ÄÁÅ×À̳Ê, ¾Ë°í¸®Áò, ¹Ýº¹ÀÚ, ¹®ÀÚ¿, ½ºÆ®¸² ÀÔÃâ·Â, ·ÎÄÉÀÏ, ¼öÄ¡ ¹× ±âŸ
¡á C++ ±âº» ¸Þ¸ð¸® ¸ðµ¨¿¡ ´ëÇÑ ½ÉÃþÀûÀΠŽ±¸
¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú
ÀÌ Ã¥Àº ´ÙÀ½°ú °°Àº ¼¼ °¡Áö µ¶ÀÚÃþÀ» ¿°µÎ¿¡ µ×´Ù.
¡á ÃֽŠISO C++ Ç¥ÁØÀÌ Á¦°øÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀÌ ¹«¾ùÀÎÁö ¾Ë°í ½ÍÀº C++ ÇÁ·Î±×·¡¸Ó
¡á C++ÀÌ Cº¸´Ù ´õ ³ªÀº ¹º°¡¸¦ Á¦°øÇÒ ¼ö ÀÖ´ÂÁö ±Ã±ÝÇÑ C ÇÁ·Î±×·¡¸Ó
¡á ÀÚ¹Ù, C+, ÆÄÀ̽ã, ·çºñ °°Àº ¾ÖÇø®ÄÉÀÌ¼Ç ¾ð¾î¸¦ ´Ù·ïº» »ç¶÷µé Áß¿¡ ÄÄÇ»ÅÍ¿Í Á» ´õ °¡±î¿î, Áï Á» ´õ À¶Å뼺 ÀÖ°í Á» ´õ ³ªÀº ÄÄÆÄÀÏ Å¸ÀÓ Ã¼Å©¸¦ Á¦°øÇϸç, Á» ´õ ³ªÀº ¼º´ÉÀ» Á¦°øÇÏ´Â ¹º°¡¸¦ ã´Â À̵é
´ç¿¬È÷ ÀÌ ¼¼ ±×·ìÀÌ µ¿¶³¾îÁø °Ç ¾Æ´Ï´Ù. Àü¹® ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚµéÀº ÇÑ °¡Áö ÀÌ»óÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ¼÷´ÞÇØ ÀÖ´Ù.
ÀÌ Ã¥Àº µ¶ÀÚµéÀÌ ÇÁ·Î±×·¡¸Ó¶ó°í °¡Á¤ÇÑ´Ù. for ·çÇÁ³ª ÄÄÆÄÀÏ·¯°¡ ¹ºÁö ¸ð¸¥´Ù¸é ÀÌ Ã¥Àº (¾ÆÁ÷) ¿©·¯ºÐ¿¡°Ô ÀûÇÕÇÑ Ã¥ÀÌ ¾Æ´Ï´Ù. ÇÁ·Î±×·¡¹Ö°ú C++¸¦ ½ÃÀÛÇÑ´Ù¸é ³»°¡ ¾´ ¡ºProgramming: Principles and Practice Using C++ (Second Edition) Çѱ¹¾îÆÇ¡»(¿¡ÀÌÄÜ, 2015)À» ´ë½Å ÃßõÇÑ´Ù. °Ô´Ù°¡ ³ª´Â µ¶ÀÚµéÀÌ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀڷμ ¾î´À Á¤µµ ¼÷·ÃµÅ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ¡°¹¹ÇÏ·¯ Å×½ºÆ®¸¦ ÇÏÁö?¡±¶ó°í ¹¯´ø°¡, ¡°¸ðµç ¾ð¾î´Â ±âº»ÀûÀ¸·Î ´Ù ¶È°°¾Æ. ¹®¹ý¸¸ ¾Ë·Á´Þ¶õ ¸»À̾ß.¡±¶ó°í ¸»Çϵ簡, ¸ðµç ÀÛ¾÷¿¡ µÎ·ç ÀûÇÕÇÑ ´Ü ÇÑ °¡Áö ¾ð¾î°¡ ÀÖ´Ù°í È®½ÅÇÑ´Ù¸é ÀÌ Ã¥Àº ¿©·¯ºÐ¿¡°Ô ÀûÇÕÇÑ Ã¥ÀÌ ¾Æ´Ï´Ù.
¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú
¼ø¼ö ÇнÀ¼´Â ¾î¶² ¿ø¸®µçÁö ¼³¸íÇÑ ÈÄ¿¡ È°¿ëµÇ°Ô Çϱâ À§ÇØ ¼ø¼´ë·Î ÁÖÁ¦¸¦ ³ª¿ÇϹǷÎ,ù ÆäÀÌÁöºÎÅÍ ¼ø¼´ë·Î Àоî¾ß ÇÑ´Ù. ¹Ý´ë·Î ¼ø¼ö Âü°í ¸Å´º¾óÀº ¾îµð¼ºÎÅÍ Àо ÁÁ´Ù. Âü°í ¸Å´º¾óÀº °ü·ÃµÈ ÁÖÁ¦¿¡ ´ëÇÑ ÀüÈÄÀÇ ÂüÁ¶ »çÇ×À» °çµé¿© °¢ ÁÖÁ¦¸¦ °£°áÇÏ°Ô ¼³¸íÇÑ´Ù. ¼ø¼ö ÇнÀ¼´Â ¿øÄ¢ÀûÀ¸·Î ¼±Çà ÇнÀ ¾øÀÌ´Â ÀÐÀ» ¼ö ¾øÀ¸¸ç, ¸ðµç »çÇ×À» »ó¼¼ÇÏ°Ô ¼³¸íÇÑ´Ù. ¼ø¼ö Âü°í¼´Â ±âº»ÀûÀÎ ¸ðµç °³³ä°ú ±â¹ý¿¡ Àͼ÷ÇÑ µ¶ÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ °ÍÀÌ´Ù. ´ëºÎºÐÀÇ °³³ä°ú ±â¹ýÀ» ¾Ë°í ÀÖ´Â µ¶ÀÚ¶ó¸é Àå ´ÜÀ§³ª Àý ´ÜÀ§·Î Âü°í¼¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾ÊÀº µ¶ÀÚ¶ó¸é óÀ½ºÎÅÍ ½ÃÀÛÇ쵂 ¼¼ºÎ »çÇ׿¡ Áö³ªÄ¡°Ô ¸Å´Þ¸®·Á°í ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. »öÀΰú »óÈ£ ÂüÁ¶¸¦ È°¿ëÇÏÀÚ.
Ã¥ÀÇ °¢ ºÎºÐÀÌ »ó´ëÀûÀ¸·Î Àڱ⠿ϰáÀûÀÌ´Ù º¸´Ï Áߺ¹À» ÇÇÇÒ ¼ö ¾øÁö¸¸, Áߺ¹Àº ¼ø¼´ë·Î Ã¥À» Àд µ¶Àڵ鿡°Ô´Â º¹½ÀÀÇ Àǹ̵µ ÀÖ´Ù. ÀÌ Ã¥Àº ÀÚüÀûÀÎ ³»¿ë°ú ISO C++ Ç¥ÁØ ¾çÂÊÀ» »ó´çÇÑ ºñÁßÀ¸·Î ÂüÁ¶ÇÑ´Ù. ¼÷·ÃµÈ ÇÁ·Î±×·¡¸ÓµéÀº C++ ¡®µÑ·¯º¸±â¡¯¸¦ ºñ±³Àû À绡¸® ÈȾ¸é ÀÌ Ã¥À» Âü°í¼·Î È°¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ °³¿ä¸¦ ÆľÇÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥Àº ´ÙÀ½°ú °°Àº 4°³ÀÇ ºÎºÐÀ¸·Î ±¸¼ºµÅ ÀÖ´Ù.
1ºÎ, µµÀÔºÎ: 1ÀåÀº ÀÌ Ã¥¿¡ ´ëÇÑ ¾È³»À̸ç, C++ÀÇ ¹è°æ Áö½ÄÀ» ¼³¸íÇÑ´Ù. 2Àå~5ÀåÀº C++ ¾ð¾î¿Í C++ Ç¥ÁØ ¶óÀ̺귯¸®¿¡ ´ëÇÑ °£´ÜÇÑ ¾È³»¸¦ Á¦°øÇÑ´Ù.
2ºÎ, ±âº» ±â´É: 6Àå~15ÀåÀº C++ÀÇ ±âº» Á¦°ø ŸÀÔ°ú ±âº» ±â´ÉÀ» ÀÌ¿ëÇؼ ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
3ºÎ, Ãß»óÈ ¸ÞÄ¿´ÏÁò: 16Àå~29ÀåÀº C++ÀÇ Ãß»óÈ ¸ÞÄ¿´ÏÁò°ú °´Ã¼ÁöÇâ ¹× ÀϹÝÈ ÇÁ·Î±×·¡¹Ö¿¡ ±×°ÍµéÀ» È°¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
4ºÎ, Ç¥ÁØ ¶óÀ̺귯¸®: 30Àå~44ÀåÀº Ç¥ÁØ ¶óÀ̺귯¸®¿¡ ´ëÇÑ °³¿ä¿Í ȣȯ¼º À̽´¿¡ ´ëÇØ ³íÀÇÇÑ´Ù.
¡Ú ÁöÀºÀÌÀÇ ¸» ¡Ú
C++´Â »õ·Î¿î ¾ð¾îó·³ ´À²¸Áø´Ù. Áï, C++11¿¡¼´Â C++98¿¡¼º¸´Ù ÀÚ½ÅÀÇ »ý°¢À» Á» ´õ ¸í·áÇÏ°í, Á» ´õ °£´ÜÇϸç, Á» ´õ Á÷Á¢ÀûÀ¸·Î Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. °Ô´Ù°¡ °á°ú·Î ¸¸µé¾îÁö´Â ÇÁ·Î±×·¥Àº ÄÄÆÄÀÏ·¯¿¡¼ ´õ Àß Ã¼Å©µÇ¸ç ´õ ºü¸£°Ô ½ÇÇàµÈ´Ù.
ÀÌ Ã¥Àº ¿Ï°á¼º¿¡ ¸ñÀûÀ» µÐ´Ù. ÀÌ Ã¥Àº Çö¾÷ ÇÁ·Î±×·¡¸Ó¿¡°Ô ÇÊ¿äÇÑ ¸ðµç ¾ð¾î ±â´É°ú Ç¥ÁØ ¶óÀ̺귯¸® ±¸¼º ¿ä¼Ò¸¦ ¼³¸íÇÑ´Ù. °¢°¢¿¡ ´ëÇØ ´ÙÀ½°ú °°Àº ³»¿ëÀÌ Á¦°øµÈ´Ù.
¡á ³í¸®Àû ±Ù°Å: ±×°ÍÀº ¾î¶² Á¾·ùÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ´Â µ¥ µµ¿òÀ» ÁÖ·Á°í ¼³°èµÆ´Â°¡? ¼³°èÀÇ ¹ÙÅÁÀÌ µÇ´Â ¿ø¸®´Â ¹«¾ùÀΰ¡? ±Ùº»ÀûÀÎ ÇÑ°è´Â ¹«¾ùÀΰ¡?
¡á ¸í¼¼: ±×°ÍÀÇ Á¤ÀÇ´Â ¹«¾ùÀΰ¡? ¼¼ºÎ »çÇ×ÀÇ ¼öÁØÀº Àü¹® ÇÁ·Î±×·¡¸Ó¸¦ ´ë»óÀ¸·Î ¼±ÅõƴÙ. ¿·ÄÇÑ ¾ð¾î Ž±¸ÀÚ¶ó¸é ISO Ç¥ÁØ¿¡ ´ëÇÑ ¼ö¸¹Àº Âü°í ³»¿ëµéÀ» µû¶ó°¥ ¼ö ÀÖ´Ù.
¡á ¿¹Á¦: ±×°ÍÀº ¾î¶»°Ô ÀÚüÀûÀ¸·Î ¶Ç´Â ´Ù¸¥ ±â´Éµé°ú Á¶ÇյŠ»ç¿ëµÉ ¼ö Àִ°¡? ÇÙ½É ±â¹ý°ú Ç¥Çö ¹æ½ÄÀº ¹«¾ùÀΰ¡? À¯Áö º¸¼ö¼º°ú ¼º´É¿¡ ´ëÇؼ´Â ¾î¶² ¿µÇâÀ» ¹ÌÄ¡´Â°¡?
C++ÀÇ »ç¿ëÀº Áö³ ¸î ³â°£ ±Þ°ÝÇÑ º¯È¸¦ °Þ¾úÀ¸¸ç, ¾ð¾î ÀÚü ¿ª½Ã ¸¶Âù°¡Áö´Ù. ÇÁ·Î±×·¡¸ÓÀÇ ÀÔÀå¿¡¼ º¸¸é ´ëºÎºÐÀÇ º¯È´Â ´õ ³ª¾ÆÁø °ÍÀ̾ú´Ù. ÇöÀçÀÇ ISO Ç¥ÁØ(ISO/IEC 14882-2011, º¸Åë C++11À̶ó°í ºÒ¸²)Àº ¾çÁúÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÏ´Â µ¥ ÀÖ¾î ÀÌÀü ¹öÀü¿¡ ºñÇØ ÈξÀ ³ªÀº µµ±¸´Ù. C++11Àº ¾î¶»°Ô ´õ ³ªÀº µµ±¸Àΰ¡? ÃֽŠC++´Â ¾î¶² Á¾·ùÀÇ ÇÁ·Î±×·¡¹Ö°ú ±â¹ýÀ» Áö¿øÇϴ°¡? ±ò²ûÇÏ°í, Á¤È®Çϸç, À¯Áöº¸¼ö¿¡ ¿ëÀÌÇÏ°í, È¿À²ÀûÀÎ C++ ÄÚµåÀÇ ±âº» ±¸¼º ¿ä¼Ò´Â ¹«¾ùÀΰ¡? ÀÌ·± °ÍµéÀÌ ÀÌ Ã¥¿¡¼ ÇØ´äÀ» Á¦½ÃÇÏ·Á´Â ÁÖ¿äÇÑ Áú¹®µéÀÌ´Ù. ¸¹Àº ÇØ´äÀÌ 1985³â, 1995³â, 2005³âÀÇ ±¸½Ä C++¿¡¼ ãÀ» ¼ö ÀÖ´Â ´ä°ú ´Þ¶óÁ³´Ù. Áøº¸°¡ ÀÏ¾î³ °ÍÀÌ´Ù.
C++´Â dzºÎÇÑ Å¸ÀÔ°ú °¡º¿î Ãß»óȸ¦ ¼³°èÇÏ°í È°¿ëÇÏ´Â µ¥ ¿ªÁ¡À» µÎ´Â ¹ü¿ë ÇÁ·Î±×·¡¹Ö ¾ð¾î´Ù. C++´Â ¼ÒÇÁÆ®¿þ¾î ÇϺΠ±¸Á¶¿¡¼ ¹ß°ßµÇ´Â ÀÚ¿øÀû Á¦¾àÀÌ ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ ƯÈ÷ ÀûÇÕÇÏ´Ù. C++´Â ¾çÁúÀÇ ÄÚµå ÀÛ¼º¿¡ ÇÊ¿äÇÑ ±â¹ý¿¡ ¼÷´ÞµÇ±â À§ÇØ ½Ã°£À» ÅõÀÚÇÏ´Â ÇÁ·Î±×·¡¸Ó¿¡°Ô º¸´äÇÑ´Ù. C++´Â ÇÁ·Î±×·¡¹Ö ÀÛ¾÷À» ÁøÁöÇÏ°Ô °í·ÁÇÏ´Â À̵éÀ» À§ÇÑ ¾ð¾î´Ù. ¿ì¸®ÀÇ ¹®¸íÀº ¼ÒÇÁÆ®¿þ¾î¿¡ Àý´ëÀûÀ¸·Î ÀÇÁ¸ÇÑ´Ù. ±×·± ¼ÒÇÁÆ®¿þ¾î´Â ¾çÁúÀ̾î¾ß ÇÑ´Ù.
¹èÆ÷µÈ C++ ÄÚµå´Â ¼ö½Ê¾ï ÁÙ¿¡ ´ÞÇÑ´Ù. ÀÌ·Î ÀÎÇØ ¾ÈÁ¤¼ºÀÌ Æ¯È÷ Áß¿ä½ÃµÅ 1985³â°ú 1995³âÀÇ C++ Äڵ尡 ¾ÆÁ÷±îÁö µ¿ÀÛÇÏ°í, ¾ÕÀ¸·Î ¼ö½Ê ³â µ¿¾È °è¼Ó µ¿ÀÛÇÏ°Ô µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ ¸ðµç ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇØ ÃֽŠC++·Î ´õ ³ªÀº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¿À·¡µÈ ½ºÅ¸ÀÏÀ» °í¼öÇÑ´Ù¸é ³·Àº Ç°Áú¿¡ ³·Àº ¼º´ÉÀ» º¸ÀÌ´Â Äڵ带 ÀÛ¼ºÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ¾ÈÁ¤¼º¿¡ ´ëÇÑ °Á¶´Â ¿À´Ã ÀÛ¼ºÇÑ Ç¥ÁØ Áؼö Äڵ尡 Áö±ÝÀ¸·ÎºÎÅÍ 20³â ÈÄ¿¡µµ ¿©ÀüÈ÷ µ¿ÀÛÇÒ °ÍÀ̶ó´Â ¶æÀÌ´Ù. ÀÌ Ã¥ÀÇ ¸ðµç ÄÚµå´Â 2011 ISO C++ Ç¥ÁØÀ» ÁؼöÇÑ´Ù.
C++98¿¡ ºñÇØ C++11¿¡¼ Ãß°¡µÈ ±â´ÉÀº ¹«¾ùÀΰ¡? »ó´çÇÑ º´Ç༺À» °®Ãá Çö´ëÀû ÄÄÇ»ÅÍ¿¡ ÀûÇÕÇÑ ±â°è ¸ðµ¨, ½Ã½ºÅÛ ·¹º§ÀÇ º´Ç༺ ÇÁ·Î±×·¡¹ÖÀ» ¼öÇàÇϱâ À§ÇÑ ¾ð¾î ¹× Ç¥ÁØ ¶óÀ̺귯¸® ±â´É(¿¹¸¦ µé¸é ¸ÖƼÄھ È°¿ëÇÑ), Á¤±Ô Ç¥Çö½Ä ó¸®, ÀÚ¿ø °ü¸® Æ÷ÀÎÅÍ, ³¼ö, °³¼±µÈ ÄÁÅ×À̳Ê(Çؽà Å×À̺íÀ» ºñ·ÔÇÑ) µîÀÌ°í, ¹ü¿ëÀûÀÌ°í ÅëÀÏÀûÀÎ ÃʱâÈ, ´õ °£´ÜÇØÁø for¹®, À̵¿ ÀÇ¹Ì ±¸Á¶, ±âÃÊÀûÀÎ À¯´ÏÄÚµå Áö¿ø, ¶÷´Ù, ÀÏ¹Ý »ó¼ö Ç¥Çö½Ä, Ŭ·¡½º ±âº» °ª¿¡ ´ëÇÑ Á¦¾î, °¡º¯ ÀÎÀÚ ÅÛÇø´, »ç¿ëÀÚ Á¤ÀÇ ¸®ÅÍ·² µîÀÌ´Ù. ÀÌ·± ¶óÀ̺귯¸®¿Í ¾ð¾î ±â´ÉÀº ¾çÁúÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÇÊ¿äÇÑ ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» Áö¿øÇϱâ À§ÇØ Á¸ÀçÇÑ´Ù´Â Á¡À» ±â¾ïÇϱ⠹ٶõ´Ù. ÀÌ·± ±â´ÉµéÀº °Ç¹°ÀÇ º®µ¹Ã³·³ ÇÔ²² »ç¿ëµÇµµ·Ï ÀǵµµÈ °ÍÀÌÁö, ƯÁ¤ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ °í¸³µÅ °³º°ÀûÀ¸·Î »ç¿ëµÇµµ·Ï ÀǵµµÈ °ÍÀÌ ¾Æ´Ï´Ù. ÄÄÇ»ÅÍ´Â ¹ü¿ë ±â±âÀ̸ç, C++´Â ÀÌ·¯ÇÑ ´É·ÂÀ» ÅëÇØ ±×·± ¸ñÀûÀ» ¸¸Á·½ÃŲ´Ù. ƯÈ÷ C++ÀÇ ¼³°è ¸ñÇ¥´Â ¼³°èÀÚµéÀÌ »ý°¢Áöµµ ¸øÇÑ ¹Ì·¡ÀÇ ¹®Á¦µé¿¡ ´ëÀÀÇÒ ¼ö ÀÖ°Ô²û ÃæºÐÈ÷ À¶Å뼺 ÀÖ°í ¹ü¿ëÀûÀÌ µÇ´Â °ÍÀÌ´Ù.
¡Ú ¿Å±äÀÌÀÇ ¸» ¡Ú
ÀÌ Ã¥ÀÇ ¿ø¼ÀÎ ¡ºThe C++ Programming Language¡»´Â C++ ÇÁ·Î±×·¡¸Óµé¿¡°Ô´Â ±»ÀÌ ¼³¸íÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ» Á¤µµ·Î À¯¸íÇÑ Ã¥ÀÌ´Ù. ¹«¾ùº¸´Ù C++ ¾ð¾îÀÇ Ã¢½ÃÀÚÀÎ ºñ¾ß³× ½ºÆ®·Ó½ºÆ®·ì(Bjarne Stroustrup)ÀÌ Á÷Á¢ ¾´ Ã¥À¸·Î¼ ÀÌÀü±îÁö 3ÆÇÀÌ Ãâ½ÃµÉ Á¤µµ·Î C++ Âü°í µµ¼ÀÇ °áÁ¤ÆÇÀ¸·Î ÀÚŸ°¡ °øÀÎÇÏ´Â ½Ã¸®Áî¿´´Ù.
ÀÌ Ã¥ÀÇ ÀÌÀü ÆÇÀÎ 3ÆÇÀÇ °æ¿ì ¿ø¼´Â 1997³â¿¡ Ãâ°£µÆ°í, ±¹³» ¹ø¿ª¼´Â 2005³â¿¡ Ãâ°£µÆ´Ù. ÀÌ Ã¥ÀÇ 3ÆÇÀº 1998³â¿¡ Ç¥ÁؾÈÀÌ ¹ßÇ¥µÈ ISO C++ Ç¥ÁØÀ» ±â¹ÝÀ¸·Î ¾²¿©Á³À¸³ª ÀÌÈÄ 2011³â ISO C++11 Ç¥ÁؾÈÀÌ °ø½Ä ¹ßÇ¥µÆ´Ù. C++11 Ç¥ÁØÀ» ¹Ý¿µÇÑ ¿ø¼ÀÇ 4ÆÇÀÌ 2013³â Ãâ°£µÈ ÀÌÈÄ·Î 2014³âºÎÅÍ ¹ø¿ªÀ» ½ÃÀÛÇؼ 2015³â¿¡ µåµð¾î ±¹³» ¹ø¿ªÆÇÀÌ Ãâ°£µÈ °ÍÀÌ´Ù. ±×·¯´Ï±î ¿ø¼ ±âÁØÀ¸·Î´Â 16³â, ¹ø¿ª¼ ±âÁØÀ¸·Î´Â 10³â ¸¸¿¡ »õ ÆÇÀÌ Ãâ°£µÈ ¼ÀÀÌ´Ù. ÀÌ Ã¥ÀÇ ÀÌÀü ÆÇ ¹ø¿ª¼´Â ÀýÆÇµÈ Áö°¡ ²Ï µÆÁö¸¸, ¾ÆÁ÷±îÁöµµ Áß°í·Î ³»³õÀ¸¸é ´« ±ô¦ÇÒ »çÀÌ¿¡ ÆÇ¸ÅµÉ Á¤µµ·Î Àα⸦ ´©¸®°í ÀÖ´Ù.
±×·¯´Ù º¸´Ï ¼÷·ÃµÈ C++ ÇÁ·Î±×·¡¸Óµé Áß¿¡¼´Â °³Á¤4ÆÇÀÇ ¹ø¿ª¼¸¦ ¼Õ²Å¾Æ ±â´Ù¸®´Â »ç¶÷µµ ÀûÁö ¾ÊÀ» °ÍÀÌ´Ù. 4ÆÇÀº ±×·± »ç¶÷µéÀÇ ±â´ë¸¦ ÈξÀ ¶Ù¾î ³Ñ´Â Ã¥À¸·Î, C++11¿¡¼ C++°¡ Å« Áøº¸¸¦ ÀÌ·é °á°ú¿¡ ¸ÂÃç Ã¥µµ Å« ¹ßÀüÀ» ÀÌ·ð´Ù. C++11¿¡ °üÇÑ »õ·Î¿î ³»¿ëµéÀÌ ´ëÆø Ãß°¡µÆÀ» »Ó ¾Æ´Ï¶ó ±âÁ¸ÀÇ ³»¿ë ¿ª½Ã °ÅÀÇ ´ëºÎºÐ ´Ù½Ã ¾²¿©Á³´Ù. 3ºÐÀÇ 1 Á¤µµ¸¦ Á¦¿ÜÇÏ°í´Â °ÅÀÇ »õ·Î ¾²¿©Á³´Ù°í ºÁµµ ¹«¹æÇÏ´Ù. ¶ÇÇÑ ´ë»ó µ¶ÀÚÃþ¿¡µµ ¾à°£ÀÇ º¯È°¡ ÀÖ¾ú´Ù. 3ÆDZîÁö´Â ´Ù¼Ò ¾îÁß°£ÇÑ µ¶ÀÚÃþÀ» ´ë»óÀ¸·Î Çß´Ù¸é 4ÆÇ¿¡ ¿Í¼´Â °°Àº ÀúÀÚ°¡ ¾´ C++ ÃʽÉÀÚ¿¡°Ô ÃÊÁ¡ÀÌ ¸ÂÃçÁø ¡ºProgramming: Principles and Practice Using C++ (Second Edition) Çѱ¹¾îÆÇ¡»(¿¡ÀÌÄÜ, 2015)°¡ Ãâ°£µÈ °ü°è·Î, ÀÌ Ã¥Àº Á» ´õ ¼÷·ÃµÈ ÇÁ·Î±×·¡¸Ó¿¡°Ô ÃÊÁ¡ÀÌ ¸ÂÃçÁ³´Ù. Áï ÀÌ Ã¥Àº C++³ª ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ óÀ½ °øºÎÇÏ·Á´Â ºÐµé¿¡°Ô ÀûÇÕÇÑ Ã¥Àº ¾Æ´Ï¸ç, ¾î´À Á¤µµ ¼÷·ÃµÈ ÇÁ·Î±×·¡¸ÓÀÇ ¼Õ¿¡ Áã¾îÁ³À» ¶§ °¡Àå ºûÀ» ¹ßÇÒ ¼ö Àִ åÀÌ´Ù.
C++11 Ç¥ÁØÀÌ ½ÂÀÎµÈ °ÍÀº 2011³âÀ̾úÁö¸¸, 2012³â¿¡ µÇ¾î¼¾ß C++11 Ç¥ÁØÀÌ ¹Ý¿µµÈ ÄÄÆÄÀÏ·¯°¡ Ãâ½ÃµÆÀ¸¹Ç·Î, C++ Ç¥ÁØÀº ¼¼»ó¿¡ ³ª¿Â Áö ¾ó¸¶ ¾È µÇ´Â ¼ÀÀÌ´Ù. ƯÈ÷ ±¹³»¸¦ º¸¸é Çö¾÷ ÇÁ·Î±×·¡¸Óµé Áß »ó´ç¼ö°¡ ¾ÆÁ÷µµ C++98ÀÇ ¿¹Àü Ç¥ÁØ¿¡ ÈξÀ ´õ Àͼ÷ÇÑ °ÍÀ¸·Î º¸ÀδÙ. ³ªÀÇ °æ¿ì¿¡µµ ÁÖ·Î C++98 Ç¥ÁØ ±â¹ÝÀ¸·Î C++ ÇÁ·Î±×·¡¹ÖÀ» Á¢ÇØ ¿Â ±î´ßÀÎÁö C++11·Î ÀÛ¼ºµÈ ÄÚµå´Â C++°¡ ¾Æ´Ñ ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¶ó´Â ´À³¦ÀÌ µé Á¤µµ·Î »õ·Î¿ü´Ù.
±× Á¤µµ·Î C++´Â C++11¿¡ ¿Í¼ Å« º¯È¸¦ °Þ¾ú´Ù. ´ÙÇàÈ÷ ±×·± º¯È´Â Á» ´õ ¹ßÀüÀûÀÎ ¹æÇâÀ¸·ÎÀÇ º¯ÈÀÎ µí½Í´Ù. ÀÌ Ã¥¿¡¼´Â C++11¿¡¼ »õ·ÎÀÌ Ãß°¡µÈ º´Ç༺ Áö¿ø, Á¤±Ô Ç¥Çö½Ä ó¸®, ÀÚ¿ø °ü¸® Æ÷ÀÎÅÍ, ³¼ö, °³¼±µÈ ÄÁÅ×À̳Ê(Çؽà Å×À̺íÀ» ºñ·ÔÇÑ), ¹ü¿ëÀûÀÌ°í ÅëÀÏÀûÀÎ ÃʱâÈ, ´õ °£´ÜÇØÁø for ¹®, À̵¿ ÀÇ¹Ì ±¸Á¶, ±âÃÊÀûÀÎ À¯´ÏÄÚµå Áö¿ø, ¶÷´Ù, ÀÏ¹Ý »ó¼ö Ç¥Çö½Ä, Ŭ·¡½º ±âº» °ª¿¡ ´ëÇÑ Á¦¾î, °¡º¯ ÀÎÀÚ ÅÛÇø´, »ç¿ëÀÚ Á¤ÀÇ ¸®ÅÍ·² µî¿¡ ´ëÇÑ °³³ä°ú °ü·ÃµÈ ¿¹Á¦¸¦ »ó¼¼È÷ ¼³¸íÇÑ´Ù.
´Ü¼øÈ÷ Ãß°¡µÈ ±â´ÉÀ» ³ª¿½ÄÀ¸·Î ¼³¸íÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó C++11¿¡¼ ´Þ¶óÁø »õ·Î¿î C++ ÇÁ·Î±×·¡¹Ö Á¢±Ù¹ýÀ» ÅëÇÕÀûÀÎ °üÁ¡, ÃÖÀûÀÇ ¿¹Á¦ ¹× Ãßõ ±â¹ý µîÀ» ÅëÇØ È¿°úÀûÀ¸·Î ¼³¸íÇÑ´Ù. ÀúÀÚÀÇ ÁÖÀå¿¡ ÀÇÇϸé C++11¿¡ ¿Í¼ C++´Â ´õ ³ªÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ µÆ´Ù. ±×·± ´õ ³ª¾ÆÁø C++ÀÇ ¸é¸éÀ» °¡Àå ¼Ó¼ÓµéÀÌ ¹è¿ì±â¿¡ ÀÌ Ã¥º¸´Ù ´õ ³ªÀº Ã¥Àº ÀÖÀ» ¼ö ¾ø´Ù. ÀúÀÚ°¡ C++ÀÇ Ã¢½ÃÀÚÀÏ »Ó¸¸ ¾Æ´Ï¶ó C++11 Ç¥ÁØÈ ÀÛ¾÷¿¡ ±í¼÷ÀÌ Âü¿©Ç߱⠶§¹®ÀÌ´Ù. ½ÇÁ¦·Î ÀÌ Ã¥¿¡¼´Â C++11ÀÇ Ç¥ÁØÈ ÀÛ¾÷¿¡ ±í¼÷ÀÌ Âü¿©ÇÑ °ü°èÀÚ¸¸ÀÌ µé·ÁÁÙ ¼ö ÀÖ´Â C++11ÀÇ ¹Ì¹¦ÇÑ Ãø¸éµéÀ» ¼³¸íÇÏ°í Àִµ¥, µ¶ÀÚµéÀÌ ´Ù¸¥ C++11 µµ¼¿¡¼´Â ã¾Æº¸±â ¾î·Á¿î ³»¿ëµéÀ» ¸¹ÀÌ Á¢ÇÏ°Ô µÇ¸®¶ó ÀÚ½ÅÇÑ´Ù. ÀÌ Ã¥À» ÅëÇØ »õ·Î¿î C++11 Ç¥ÁØÀ» ÀÍÈûÀ¸·Î½á µ¶ÀÚµéÀÌ ÀúÀÚ°¡ ±â´ëÇÏ´Â ¹Ù¿Í °°ÀÌ ÀÚ½ÅÀÇ »ý°¢À» Á» ´õ ¸íÈ®ÇÏ°í, ´Ü¼øÇϸç, Á÷Á¢ÀûÀ¸·Î Ç¥ÇöÇÏ°í, Á» ´õ ºü¸£°Ô µ¿ÀÛÇÏ°í Á» ´õ È¿À²ÀûÀÎ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô µÇ±â¸¦ ¹Ù¶õ´Ù.
¿ö³« À¯¸íÇÑ ½Ã¸®Áî´Ù º¸´Ï ÀÌ Ã¥ÀÇ ¹ø¿ªÀ» ¸Ã°Ô µÈ °ÍÀº ¿Å±äÀ̷μ ¿µ±¤À̱⵵ ÇßÁö¸¸, µ¿½Ã¿¡ »ó´çÈ÷ ºÎ´ã½º·¯¿î ÀÏÀ̾ú´Ù. ƯÈ÷ C++11¿¡ ¿Í¼ »õ·Î¿î °³³äµéÀÌ ¸¹ÀÌ Ãß°¡µÆ´Âµ¥, C++11ÀÇ »õ·Î¿î °³³äµéÀÌ ¾ÆÁ÷ ±¹³» Çö¾÷¿¡¼ Á¤ÂøȵÇÁö ¾ÊÀº »óÅÂÀÌ´Ù º¸´Ï ¿ë¾î ¹ø¿ª¿¡ ¾î·Á¿òÀ» °Þ¾ú´Ù. ¹ø¿ª¿¡ ÀÖ¾î ºÎÁ·ÇÑ ºÎºÐÀº µ¶ÀÚ ¿©·¯ºÐµéÀÇ Çǵå¹é¿¡ µû¶ó¼ °³¼±ÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ °®°Ô µÇ±â¸¦ ¹Ù¶ó¸ç, ÀÌÀü ÆÇó·³ ¿À·£ ±â°£ µ¿¾È C++ ÇÁ·Î±×·¡¸Ó ¿©·¯ºÐµé¿¡°Ô µµ¿òÀÌ µÉ ¼ö Àִ åÀÌ µÇ±â¸¦ ±â´ëÇÑ´Ù. |