¹Ýµð¾Ø·ç´Ï½º ÀÎÅͳݼ­Á¡

³×ºñ°ÔÀÌ¼Ç ½Ç½Ã°£ Àαâ Ã¥

    Functional Programming in C++ C++¸¦ »ç¿ëÇØ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¿ø¸® ¸¶½ºÅÍÇϱâ

    ¿øÁ¦ : Functional Programming in C++: How to improve

    • ÀÌ¹Ý ÃßÅ°Ã÷ Àú
    • ±èÁ¡°© ¿ª
    • ¿¡ÀÌÄÜÃâÆÇ
    • 2019³â 08¿ù 23ÀÏ
    • Á¤°¡
      35,000¿ø
    • ÆǸŰ¡
      31,500¿ø [10% ÇÒÀÎ]
    • °áÁ¦ ÇýÅÃ
      ¹«ÀÌÀÚ
    • Àû¸³±Ý
      1,750¿ø Àû¸³ [5%P]

      NAVER Pay °áÁ¦ ½Ã ³×À̹öÆäÀÌ Æ÷ÀÎÆ® 5% Àû¸³ ?

    • ¹è¼Û±¸ºÐ
      ¾÷ü¹è¼Û(¹ÝµðºÏ)
    • ¹è¼Û·á
      ¹«·á¹è¼Û
    • Ãâ°í¿¹Á¤ÀÏ

      Ãâ°í¿¹Á¤ÀÏ ¾È³»

      ¡Ø Ãâ°í¿¹Á¤ÀÏÀº µµ¼­ Àç°í»óȲ¿¡ µû¶ó º¯µ¿µÉ ¼ö ÀÖ½À´Ï´Ù.

      close

      2024³â 04¿ù 22ÀÏ(¿ù)

      ¡Ø Ãâ°í¿¹Á¤ÀÏÀº µµ¼­ Àç°í»óȲ¿¡ µû¶ó º¯µ¿µÉ ¼ö ÀÖ½À´Ï´Ù.

    ¼ö·®
    ȸ¿ø¸®ºä
    - [0]
    ISBN: 9791161753416 460ÂÊ 188 x 235 (§®)

    Áö±Ý ÀÌÃ¥Àº

    • ÆǸÅÁö¼ö : 270

    ÀÌ Ã¥ÀÌ ¼ÓÇÑ ºÐ¾ß

    ÀÌ Ã¥Àº

    C++¿¡¼­ Áö¿øÇÏ´Â ´Ù¾çÇÑ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» ÅëÇØ ÃֽŠ¾ÛÀÇ ¿ä±¸ »çÇ×À» ½±°Ô ÇØ°áÇÏ°í, º¹ÀâÇÑ ÇÁ·Î±×·¥ ³í¸®¸¦ ´Ü¼øÇÏ°Ô Ç¥ÇöÇÒ ¼ö ÀÖÀ¸¸ç, ¿ì¾ÆÇÑ ¿À·ù ó¸®¿Í È¿À²ÀûÀÎ º´Ç༺À» ÀÌ·ê ¼ö ÀÖ´Ù. ¶ÇÇÑ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» »ç¿ëÇØ C++ ÇÁ·Î±×·¥À» °í±ÞÈ­ÇÏ´Â ¹æ¹ýÀ» ÀÍÈú ¼ö ÀÖÀ¸¸ç ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ »õ·Î¿î »ç°í ¹æ½ÄÀ» ¹è¿î´Ù.

    ÃâÆÇ»ç ¸®ºä

    ¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú

    ÀÌ Ã¥Àº ÁÖ·Î Àü¹®ÀûÀÎ C++ °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ´Ù. µ¶ÀÚ°¡ ºôµå ½Ã½ºÅÛÀ» ¼³Á¤ÇÏ°í ¿ÜºÎ ¶óÀ̺귯¸®¸¦ ¼³Ä¡, »ç¿ëÇÑ °æÇèÀÌ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ´õºÒ¾î Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®, ÅÛÇø´, ÅÛÇø´ Àμö Ãß·Ð, ¹ÂÅؽº °°Àº µ¿½Ã¼º ÇÁ¸®¹ÌƼºê(primitives)¿¡ ´ëÇÑ ±âº»Àû ÀÌÇØ°¡ ÀÖ¾î¾ß ÇÑ´Ù.
    ÇÏÁö¸¸ ¼÷·ÃµÈ C++ °³¹ßÀÚ°¡ ¾Æ´Ï´õ¶óµµ ÀÌ Ã¥À» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. °¢ ÀåÀÇ ³¡¿¡ ¾ÆÁ÷ Àͼ÷ÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Â C++ ±â´ÉÀ» ¼³¸íÇÏ´Â ±â»ç¸¦ ¸µÅ©Çص״Ù.

    ¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú

    °¢ ÀåÀº ¾Õ Àå¿¡¼­ ¼÷ÁöÇÑ °³³äÀ» ±âº»À¸·Î Çϱ⠶§¹®¿¡ ¼øÂ÷ÀûÀ¸·Î Àоî¾ß ÇÑ´Ù. °³³äÀÇ ³­µµ´Â ÈÄ¼Ó Àå¿¡¼­ °è¼Ó ³ô¾ÆÁö¹Ç·Î ÈÄ¹Ý ³»¿ëÀ» Àаí ÀÌÇØ°¡ µÇÁö ¾Ê´Â´Ù¸é °è¼Ó ÁøÇàÇϱ⺸´Ù ´Ù½Ã Àд ÆíÀÌ ³´´Ù. ´Ü, 8ÀåÀº ¿¹¿Ü·Î, Áö¼Ó¼º ÀÚ·á ±¸Á¶Ã¼ ±¸Çö¿¡ °üÇÑ ¹æ¹ý¿¡ °ü½ÉÀÌ ¾ø´Ù¸é ÀÐÁö ¾Ê¾Æµµ µÈ´Ù.

    ÀÌ Ã¥Àº µÎ ºÎºÐÀ¸·Î ³ª´¶´Ù. ù ºÎºÐÀº ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö °ü¿ë±¸¿Í ÀÌµé °ü¿ë±¸°¡ C++¿¡ Àû¿ëµÇ´Â ¹æ¹ýÀ» ´Ù·é´Ù.
    1Àå, 'ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¼Ò°³'¿¡¼­´Â FP¿¡ °üÇÑ °£´ÜÇÑ ¼Ò°³¿Í FP°¡ C++¿¡ ¹ÌÄ¡´Â ÀÌÁ¡À» ¼³¸íÇÑ´Ù.
    2Àå, 'ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ½ÃÀÛ'¿¡¼­´Â ´Ù¸¥ ÇÔ¼ö¸¦ Àμö·Î ¹Þ°Å³ª »õ·Î¿î ÇÔ¼ö¸¦ ¹ÝȯÇÏ´Â ÇÔ¼öÀÎ °íÂ÷¿ø ÇÔ¼ö(higher-order functions)¸¦ ¼³¸íÇÑ´Ù. C++ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Ç¥ÁØ ¶óÀ̺귯¸®¿¡ ÀÖ´Â Á» ´õ À¯¿ëÇÑ ¸î °¡Áö °íÂ÷¿ø ÇÔ¼ö¸¦ »ç¿ëÇØ °íÂ÷¿ø ÇÔ¼öÀÇ °³³äÀ» º¸¿©ÁØ´Ù.
    3Àå, 'ÇÔ¼ö °´Ã¼'¿¡¼­´Â C++°¡ ÇÔ¼ö ¶Ç´Â ÇÔ¼ö À¯»çÇÑ °Í(ÀϹÝÀûÀÎ CÇÔ¼ö¿¡¼­ ÇÔ¼ö °´Ã¼¿Í ¶÷´Ù¿¡ À̸£±â±îÁö)À¸·Î °£ÁÖÇÏ´Â ¿©Å¸ ¸ðµç °ÍÀ» ´Ù·é´Ù.
    4Àå, '»õ·Î¿î ÇÔ¼ö ¸¸µé±â'¿¡¼­´Â ÀÌÀü ÇÔ¼ö·ÎºÎÅÍ »õ·Î¿î ÇÔ¼ö¸¦ »ý¼ºÇÏ´Â »óÀÌÇÑ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ std::bind¿Í ¶÷´Ù¸¦ »ç¿ëÇÏ´Â ºÎºÐ ÇÔ¼ö ÀÀ¿ëÀ» ¾Ë¾Æº¸°í, Ä¿¸µ(currying)À¸·Î ºÒ¸®´Â ÇÔ¼ö¸¦ »ìÆ캸´Â ´Ù¸¥ ¹æ½ÄÀ» ¼³¸íÇÑ´Ù.
    5Àå, '¼ø¼ö¼º: °¡º¯ »óÅ ȸÇÇ'¿¡¼­´Â ºÒº¯ µ¥ÀÌÅÍ(immutable data, Àý´ë·Î º¯ÇÏÁö ¾Ê´Â µ¥ÀÌÅÍ)ÀÇ Á߿伺À» ´Ù·é´Ù. ¶ÇÇÑ °¡º¯ »óŸ¦ °¡ÁüÀ¸·Î½á ¹ß»ýÇÏ´Â ¹®Á¦¿Í º¯¼ö °ªÀ» º¯°æÇÏÁö ¾Ê°í ÇÁ·Î±×·¥À» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
    6Àå, 'Áö¿¬ Æò°¡'¿¡¼­´Â Áö¿¬ Æò°¡(lazy evaluation)¸¦ ½Éµµ ÀÖ°Ô »ìÆ캻´Ù. ¶ÇÇÑ Áö¿¬ Æò°¡°¡ ¹®ÀÚ¿­ ¿¬°á°ú °°Àº ´Ü¼øÇÑ ÀÛ¾÷¿¡¼­ µ¿Àû ÇÁ·Î±×·¡¹ÖÀ» »ç¿ëÇØ ¾Ë°í¸®Áò ÃÖÀûÈ­Çϱ⿡ À̸£±â±îÁö ÃÖÀûÈ­¸¦ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
    7Àå, '¹üÀ§'¿¡¼­´Â °¡¿ë¼º°ú ¼º´ÉÀ» Çâ»ó½ÃÅ°±â À§ÇØ Ç¥ÁØ ¶óÀ̺귯¸® ¾Ë°í¸®Áò¿¡ äÅÃÇÑ ¹üÀ§¸¦ ¼³¸íÇÑ´Ù.
    8Àå, 'ÇÔ¼öÇü ÀÚ·á ±¸Á¶'¿¡¼­´Â ¼öÁ¤µÉ ¶§¸¶´Ù ÀÌÀü ¹öÀüÀÇ °ªÀ» º¸Á¸ÇÏ´Â µ¥ÀÌÅÍ ±¸Á¶Ã¼ÀÎ ºÒº¯ µ¥ÀÌÅÍ ±¸Á¶Ã¼¸¦ ¼³¸íÇÑ´Ù.

    ÀÌ Ã¥ÀÇ µÎ ¹ø° ºÎºÐÀº ÁÖ·Î ÇÔ¼öÇü ¼ÒÇÁÆ®¿þ¾î ¼³°è¿Í °ü·ÃµÈ °í±Þ °³³äÀ» ´Ù·é´Ù.
    9Àå, '´ë¼öÀû µ¥ÀÌÅÍ À¯Çü°ú ÆÐÅÏ ÀÏÄ¡'¿¡¼­´Â sum À¯ÇüÀ» »ç¿ëÇØ ÇÁ·Î±×·¥¿¡¼­ À¯È¿ÇÏÁö ¾ÊÀº »óŸ¦ Á¦°ÅÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ¶ÇÇÑ »ó¼Ó°ú std::variant¸¦ »ç¿ëÇØ sum À¯ÇüÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» »ìÆ캸°í ¿À¹ö·Îµå(overloaded) ÇÔ¼ö °´Ã¼¸¦ »ý¼ºÇØ sum À¯ÇüÀ» ó¸®ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
    10Àå, '¸ð³ªµå'¿¡¼­´Â ÀϹÝÀûÀÎ À¯ÇüÀ» Á» ´õ ½±°Ô ó¸®ÇÒ ¼ö ÀÖ°í º¤ÅÍ¿Í ¿É¼Ç(optional), ǻó(futures) °°Àº ÀϹÝÀûÀÎ À¯Çü¿¡¼­ µ¿ÀÛÇÏ´Â ÇÔ¼ö¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â Ãß»óÈ­ °³³äÀÎ ÇÔ¼öÀÚ(functors)¿Í ¸ð³ªµå(monads)¸¦ ¼³¸íÇÑ´Ù.
    11Àå, 'ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹Ö'¿¡¼­´Â C++ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î FP¿¡ À¯¿ëÇÑ ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹Ö ±â¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ Á¤Àû ³»¼º ±â¹ý(static introspection techniques)°ú È£Ãâ °¡´ÉÇÑ °´Ã¼¸¦ ¾ð±ÞÇÏ°í, µµ¸ÞÀÎ ÇÑÁ¤ÀûÀÎ ¾ð¾î¸¦ »ý¼ºÇϱâ À§ÇØ C++¿¡¼­ ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹ÖÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù.
    12Àå, 'º´Ç༺ ½Ã½ºÅÛÀ» À§ÇÑ ÇÔ¼öÀû ¼³°è'¿¡¼­´Â ÀÌ Ã¥¿¡¼­ ¹è¿î ¸ðµç °ÍÀ» ÅëÇÕÇØ º´Ç༺ ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛ ¼³°è¿¡ ±â´ÉÀû Á¢±Ù¹ýÀ» ¿¹¸¦ µé¾î º¸¿©ÁØ´Ù. ¶ÇÇÑ ¹ÝÀÀÇü ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛ ±¸Ãà¿¡ ¿¬¼Ó ¸ð³ªµå(continuation monad)¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
    13Àå, 'Å×½ºÆ®¿Í µð¹ö±ë'¿¡¼­´Â ÇÁ·Î±×·¥ Å×½ºÆ®¿Í µð¹ö±ë¿¡ °üÇÑ ±â´ÉÀû Á¢±Ù ¹æ¹ýÀ» Á¦½ÃÇÑ´Ù.

    ÀÌ Ã¥À» º¸´Â µ¿¾È Á¦½ÃµÈ ¸ðµç °³³äÀ» ±¸ÇöÇÏ°í µ¿¹ÝµÈ ÄÚµå ¿¹Á¦¸¦ °ËÅäÇϱ⠹ٶõ´Ù. ÀÌ Ã¥¿¡¼­ ´Ù·é ´ëºÎºÐÀÇ ±â¹ýÀº C++ ÀÌÀü ¹öÀü¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ ÀÌ·¸°Ô ÇÏ·Á¸é ºÒÇÊ¿äÇÑ Äڵ带 ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ±×·¡¼­ ÁÖ·Î C++14¿Í C++17¿¡ ÁýÁßÇß´Ù.
    ¿¹Á¦´Â µ¶ÀÚ ¿©·¯ºÐÀÌ ÀÛµ¿ÇÏ´Â C++17 ȣȯ ÄÄÆÄÀÏ·¯¸¦ °®°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. GCC³ª Clang ÁßÀÇ Çϳª¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. À̵éÀÇ ÃֽŠ¹èÆ÷ ¹öÀüÀº ¿ì¸®°¡ »ç¿ëÇÏ°íÀÚ ÇÏ´Â C++17ÀÇ ¸ðµç ±â´ÉÀ» Áö¿øÇÑ´Ù. ¸ðµç ¿¹Á¦´Â GCC 7.2¿Í Clang 5.0¿¡¼­ Å×½ºÆ®°¡ ÀÌ·ïÁ³´Ù.

    ÀúÀÚ ¼Ò°³

    ÀÌ¹Ý ÃßÅ°Ã÷

    ÀúÀÚ : ÀÌ¹Ý ÃßÅ°Ã÷
    º£¿À±×¶óµå ¼öÇÐ Çкο¡¼­ ÃֽŠC++ ±â¹ý°ú ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» °¡¸£Ä¡°í ÀÖ´Ù. 1998³âºÎÅÍ C++¸¦ »ç¿ëÇß´Ù. PhD ÇÐÀ§ ÀÌÀüºÎÅÍ C++ÀÇ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ¿¬±¸Çß´Ù. Àü ¼¼°è ¼ö¾ï ¸íÀÌ »ç¿ëÇÏ´Â ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­ FP ±â¹ýÀ» »ç¿ëÇÑ´Ù. ÃÖ´ë ¹«·á/¹«»ó(free/libre) °ø°³ ¼Ò½º C++ ÇÁ·ÎÁ§Æ®ÀÎ KDEÀÇ ÇÙ½É °³¹ßÀÚ Áß ÇÑ ¸íÀÌ´Ù.

    ¿ªÀÚ : ±èÁ¡°©
    »ï¼ºÀüÀÚ¿¡¼­ GNU ÄÄÆÄÀÏ·¯¸¦ ±â¹ÝÀ¸·Î ARM CORE ÄÄÆÄÀÏ·¯ Æ÷ÆÃ/°³¹ß ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇß´Ù. ÀÌÈÄ º¸¾È ºÐ¾ß¿Í µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ °ü½ÉÀ» µÎ°í¼­ µ¥ºê±×·ç¸¦ °øµ¿À¸·Î â¾÷ÇØ ´Ù¾çÇÑ ÀåÄ¡/º¸¾È µå¶óÀ̹ö¸¦ °³¹ßÇß°í, ´Ù¼öÀÇ µå¶óÀ̹ö °­ÀÇ¿Í ¼¼¹Ì³ª, ±³À°À» ÁøÇàÇß´Ù. (ÁÖ)¾È·¦ÀÇ ±â¹Ý ±â¼ú ÆÀ¿¡¼­ º¸¾È °ü·Ã ½Ã½ºÅÛ ÇÁ·Î±×·¥ °³¹ß ¾÷¹«¸¦ ¼öÇàÇß´Ù. ÁÖ¿ä ¹ø¿ª¼­·Î´Â¡ºWindows Internals 7/e Vol.1¡»(¿¡ÀÌÄÜ, 2018), ¡ºTHE GARBAGE COLLECTION HANDBOOK¡»(¿¡ÀÌÄÜ, 2016), ¡º½ÇÀü À©µµ¿ì µð¹ö±ë¡»(¿¡ÀÌÄÜ, 2008), ¡ºWDF¡»(¿¡ÀÌÄÜ, 2008), ¡ºC++ ¸ÖƼ½º·¹µù Á¤º¹Çϱ⡻(¿¡ÀÌÄÜ, 2018) µîÀÌ ÀÖ´Ù. Áö±ÝÀº Á¦ÁÖ¿¡ »ì¸é¼­ ¿©Çà°ú »çÁø¿¡ Èï¹Ì¸¦ ´À³¢°í ÀÖ´Ù.

    ¿ªÀÚ ¼Ò°³

    ±èÁ¡°©


    »ï¼ºÀüÀÚ¿¡¼­ GNU ÄÄÆÄÀÏ·¯¸¦ ±â¹ÝÀ¸·Î ARM CORE ÄÄÆÄÀÏ·¯ Æ÷ÆÃ/°³¹ß ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇß´Ù. ÀÌÈÄ º¸¾È ºÐ¾ß¿Í µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ °ü½ÉÀ» µÎ°í¼­ µ¥ºê±×·ç¸¦ °øµ¿À¸·Î â¾÷ÇØ ´Ù¾çÇÑ ÀåÄ¡/º¸¾È µå¶óÀ̹ö¸¦ °³¹ßÇß°í, ´Ù¼öÀÇ µå¶óÀ̹ö °­ÀÇ¿Í ¼¼¹Ì³ª, ±³À°À» ÁøÇàÇß´Ù. (ÁÖ)¾È·¦ÀÇ ±â¹Ý ±â¼ú ÆÀ¿¡¼­ º¸¾È °ü·Ã ½Ã½ºÅÛ ÇÁ·Î±×·¥ °³¹ß ¾÷¹«¸¦ ¼öÇàÇß´Ù. ÁÖ¿ä ¹ø¿ª¼­·Î´Â¡ºWindows Internals 7/e Vol.1¡»(¿¡ÀÌÄÜ, 2018), ¡ºTHE GARBAGE COLLECTION HANDBOOK¡»(¿¡ÀÌÄÜ, 2016), ¡º½ÇÀü À©µµ¿ì µð¹ö±ë¡»(¿¡ÀÌÄÜ, 2008), ¡ºWDF¡»(¿¡ÀÌÄÜ, 2008), ¡ºC++ ¸ÖƼ½º·¹µù Á¤º¹Çϱ⡻(¿¡ÀÌÄÜ, 2018) µîÀÌ ÀÖ´Ù. Áö±ÝÀº Á¦ÁÖ¿¡ »ì¸é¼­ ¿©Çà°ú »çÁø¿¡ Èï¹Ì¸¦ ´À³¢°í ÀÖ´Ù.

    ¸ñÂ÷

    1Àå. ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¼Ò°³

    1.1 ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ̶õ ¹«¾ùÀΰ¡?
    1.1.1 °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°úÀÇ °ü°è
    1.1.2 ¸í·ÉÇü ÇÁ·Î±×·¡¹Ö°ú ¼±¾ðÇü ÇÁ·Î±×·¡¹ÖÀÇ ±¸Ã¼ÀûÀÎ ¿¹Á¦
    1.2 ¼ø¼ö ÇÔ¼ö
    1.2.1 º¯°æ °¡´ÉÇÑ »óÅ ȸÇÇ
    1.3 ÇÔ¼öÀûÀ¸·Î »ç°í
    1.4 ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ÀÌÁ¡
    1.4.1 ÄÚµå °£°á¼º°ú °¡µ¶¼º
    1.4.2 º´Ç༺°ú µ¿±âÈ­
    1.4.3 Áö¼ÓÀû ÃÖÀûÈ­
    1.5 ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ C++ÀÇ ÁøÈ­
    1.6 ÀÌ Ã¥¿¡¼­ ¹è¿ì´Â ³»¿ë
    ¿ä¾à

    2Àå. ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ½ÃÀÛ

    2.1 ÇÔ¼ö°¡ ÇÔ¼ö¸¦ ÃëÇÑ´Ù?
    2.2 STL ¿¹Á¦
    2.2.1 Æò±Õ Á¡¼ö °è»ê
    2.2.2 Æúµù
    2.2.3 ¹®ÀÚ¿­ ÀÚ¸£±â
    2.2.4 Á¶°ÇÀÚ¿¡ ±â¹ÝÀ» µÎ°í Ä÷º¼Ç ºÐÇÒ
    2.2.5 ÇÊÅ͸µ°ú º¯È¯
    2.3 STL ¾Ë°í¸®ÁòÀÇ ±¸¼º °¡´É¼º ¹®Á¦
    2.4 ÀÚüÀûÀÎ °íÂ÷¿ø ÇÔ¼ö ÀÛ¼º
    2.4.1 ÇÔ¼ö¸¦ Àμö·Î ¹Þ±â
    2.4.2 ·çÇÁ·Î ±¸Çö
    2.4.3 Àç±Í¿Í ²¿¸® È£Ãâ ÃÖÀûÈ­
    2.4.4 ÆúµùÀ» »ç¿ëÇØ ±¸Çö
    ¿ä¾à

    3Àå. ÇÔ¼ö °´Ã¼

    3.1 ÇÔ¼ö¿Í ÇÔ¼ö °´Ã¼
    3.1.1 ÀÚµ¿ ¹Ýȯ Çü½Ä Ãß·Ð
    3.1.2 ÇÔ¼ö Æ÷ÀÎÅÍ
    3.1.3 È£Ãâ ¿¬»êÀÚ ¿À¹ö·Îµù
    3.1.4 ÀÏ¹Ý ÇÔ¼ö °´Ã¼ ¸¸µé±â
    3.2 ¶÷´Ù¿Í Ŭ·ÎÀú
    3.2.1 ¶÷´Ù ±¸¹®
    3.2.2 ¶÷´ÙÀÇ À̸é
    3.2.3 ¶÷´Ù¿¡¼­ ÀÓÀÇÀÇ ¸â¹ö º¯¼ö »ý¼º
    3.2.4 ÀÏ¹Ý ¶÷´Ù
    3.3 ÇÔ¼ö °´Ã¼ ÀÛ¼º
    3.3.1 STL¿¡¼­ ¿¬»êÀÚ ÇÔ¼ö °´Ã¼
    3.3.2 ´Ù¸¥ ¶óÀ̺귯¸®ÀÇ ¿¬»êÀÚ ÇÔ¼ö °´Ã¼
    3.4 std::function °¡Áø ·¡ÇÎ ÇÔ¼ö °´Ã¼
    ¿ä¾à

    4Àå. »õ·Î¿î ÇÔ¼ö ¸¸µé±â

    4.1 ºÎºÐ ÇÔ¼ö ¾ÖÇø®ÄÉÀ̼Ç
    4.1.1 ÀÌÇÔ ÇÔ¼ö¸¦ ´ÜÇ× ÇÔ¼ö·Î º¯È¯ÇÏ´Â ÀϹÝÀû ¹æ¹ý
    4.1.2 std::bind¸¦ »ç¿ëÇØ °ªÀ» ƯÁ¤ ÇÔ¼ö Àμö¿¡ ¹ÙÀεù
    4.1.3 ÀÌÇ× ÇÔ¼öÀÇ Àμö ¼ø¼­¸¦ µÚÁý±â
    4.1.4 ´õ ¸¹Àº Àμö¸¦ °¡Áø ÇÔ¼ö¿¡ std::bind »ç¿ë
    4.1.5 std::bind ´ë¾ÈÀ¸·Î ¶÷´Ù »ç¿ë
    4.2 Ä¿¸µ: ÇÔ¼ö¸¦ ¹Ù¶óº¸´Â ´Ù¸¥ ¹æ½Ä
    4.2.1 Ä¿¸® ÇÔ¼ö¸¦ ´õ ½±°Ô ¸¸µé±â
    4.2.2 µ¥ÀÌÅͺ£À̽º Á¢±Ù¿¡ Ä¿¸® »ç¿ë
    4.2.3 Ä¿¸®¿Í ºÎºÐ ÇÔ¼ö ¾ÖÇø®ÄÉÀ̼Ç
    4.3 ÇÔ¼ö ÇÕ¼º
    4.4 ÇÔ¼ö ÇÊÅÍ ´Ù½Ã »ìÆ캸±â
    4.4.1 ÀÏ·ÃÀÇ ½ÖÀ» µÚÁý±â
    ¿ä¾à

    5Àå. ¼ø¼ö¼º: °¡º¯ »óÅ ȸÇÇ

    5.1 °¡º¯ »óÅÂÀÇ ¹®Á¦
    5.2 ¼ø¼ö ÇÔ¼ö¿Í ÂüÁ¶ Åõ¸í¼º
    5.3 ºÎÀÛ¿ëÀÌ ¾ø´Â ÇÁ·Î±×·¡¹Ö
    5.4 º´Çà ȯ°æ¿¡¼­ÀÇ °¡º¯°ú ºÒº¯ »óÅÂ
    5.5 constÈ­ÀÇ Á߿伺
    5.5.1 ³í¸®Àû »ó¼ö¼º°ú ³»ºÎ »ó¼ö¼º
    5.5.2 Àӽà °ª¿¡ ´ëÇÑ ¸â¹ö ÇÔ¼ö ÃÖÀûÈ­
    5.5.3 const ÁÖÀÇ »çÇ×
    ¿ä¾à

    6Àå. Áö¿¬ Æò°¡

    6.1 C++¿¡¼­ÀÇ Áö¿¬
    6.2 ÃÖÀûÈ­ ±â¹ýÀ¸·Î¼­ÀÇ Áö¿¬
    6.2.1 Ä÷º¼ÇÀ» Áö¿¬ÇØ Á¤·Ä
    6.2.2 »ç¿ëÀÚ ÀÎÅÍÆäÀ̽ºÀÇ Ç׸ñ ºä
    6.2.3 ÇÔ¼ö °á°ú ij½Ì¿¡ ÀÇÇÑ Àç±Í Æ®¸® ÇÁ·ç´×
    6.2.4 Áö¿¬ ÇüÅÂÀÇ µ¿Àû ÇÁ·Î±×·¡¹Ö
    6.3 ÀϹÝÈ­µÈ ¸Þ¸ðÀÌÁ¦À̼Ç
    6.4 ½Ä ÅÛÇø´°ú Áö¿¬ ¹®ÀÚ¿­ ¿¬°á
    6.4.1 ¼ø¼ö¼º°ú ½Ä ÅÛÇø´
    ¿ä¾à

    7Àå. ¹üÀ§

    7.1 ¹üÀ§ ¼Ò°³
    7.2 µ¥ÀÌÅÍ¿¡ ´ëÇÑ Àбâ Àü¿ë ºä ¸¸µé±â
    7.2.1 ¹üÀ§ ¿ëµµÀÇ filter ÇÔ¼ö
    7.2.2 ¹üÀ§ ¿ëµµÀÇ transform ÇÔ¼ö
    7.2.3 ¹üÀ§ °ªÀÇ Áö¿¬ Æò°¡
    7.3 ¹üÀ§¸¦ ÅëÇÑ °ª º¯°æ
    7.4 Á¦ÇÑ ¹üÀ§¿Í ¹«ÇÑ ¹üÀ§ÀÇ »ç¿ë
    7.4.1 ÀÔ·Â ¹üÀ§ ó¸® ÃÖÀûÈ­¿¡ Á¦ÇÑ ¹üÀ§ »ç¿ë
    7.4.2 ¼¾Æ¼³Ú·Î ¹«ÇÑ ¹üÀ§ ¸¸µé±â
    7.5 ´Ü¾î ºóµµ °è»ê¿¡ ¹üÀ§ »ç¿ë
    ¿ä¾à

    8Àå. ÇÔ¼öÇü ÀÚ·á ±¸Á¶

    8.1 ºÒº¯ ¿¬°á ¸®½ºÆ®
    8.1.1 ¸®½ºÆ®ÀÇ ½ÃÀÛ ºÎºÐ¿¡ ¿ä¼Ò Ãß°¡¿Í »èÁ¦
    8.1.2 ¸®½ºÆ®ÀÇ ³¡ ºÎºÐ¿¡ ¿ä¼Ò Ãß°¡¿Í »èÁ¦
    8.1.3 ¸®½ºÆ®ÀÇ Áß¾Ó ºÎºÐ¿¡¼­ ¿ä¼Ò Ãß°¡¿Í »èÁ¦
    8.1.4 ¸Þ¸ð¸® °ü¸®
    8.2 º¤ÅÍ À¯»ç °¡º¯ ÀÚ·á ±¸Á¶
    8.2.1 ºñÆ®¸Ê º¤ÅÍ Æ®¶óÀÌ¿¡¼­ÀÇ Ç׸ñ Á¶È¸
    8.2.2 ºñÆ®¸Ê º¤ÅÍ Æ®¶óÀÌ¿¡ Ç׸ñ Ãß°¡
    8.2.3 ºñÆ®¸Ê º¤ÅÍ Æ®¶óÀÌÀÇ Ç׸ñ °»½Å
    8.2.4 ºñÆ®¸Ê º¤ÅÍ Æ®¶óÀÌÀÇ ³¡¿¡¼­ Ç׸ñ Á¦°Å
    8.2.5 ±âŸ µ¿ÀÛ°ú ºñÆ®¸Ê Æ®¶óÀÌÀÇ Àü¹ÝÀûÀÎ È¿À²¼º
    ¿ä¾à

    9Àå. ´ë¼öÀû µ¥ÀÌÅÍ À¯Çü°ú ÆÐÅÏ ÀÏÄ¡

    9.1 ´ë¼öÀû µ¥ÀÌÅÍ À¯Çü
    9.1.1 »ó¼ÓÀ» ÅëÇÑ ÇÕ À¯Çü
    9.1.2 °ø¿ëü¿Í std::variant¸¦ ÅëÇÑ ÇÕ À¯Çü
    9.1.3 ƯÁ¤ »óÅ ±¸Çö
    9.1.4 Ư¼öÇÑ ÇÕ À¯Çü: ¿É¼Ç °ª
    9.1.5 ¿À·ù 󸮸¦ À§ÇÑ ÇÕ À¯Çü
    9.2 ´ë¼öÀû µ¥ÀÌÅÍ À¯ÇüÀ¸·Î µµ¸ÞÀÎ ¸ðµ¨¸µ
    9.2.1 ´Ü¼ø Á¢±Ù¹ý°ú ´ÜÁ¡
    9.2.2 Á» ´õ ¼¼·ÃµÈ Á¢±Ù¹ý: ÇÏÇâ½Ä ¼³°è
    9.3 ÆÐÅÏ ¸ÅĪ¿¡¼­ ´ë¼öÀû µ¥ÀÌÅÍ À¯ÇüÀÇ Çâ»óµÈ ó¸®
    9.4 Mach7 ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ °­·ÂÇÑ ÆÐÅÏ ¸ÅĪ
    ¿ä¾à

    10Àå. ¸ð³ªµå

    10.1 ¿¹ÀüÀÇ ÇÔ¼öÀÚ°¡ ¾Æ´Ï´Ù
    10.1.1 ¿É¼Ç °ª ó¸®
    10.2 ¸ð³ªµå: ÇÔ¼öÀÚ¿¡°Ô ´õ ¸¹Àº ´É·ÂÀ»
    10.3 ±âº» ¿¹Á¦
    10.4 ¹üÀ§¿Í ¸ð³ªµåÀÇ ³»Æ÷
    10.5 ¿À·ù ó¸®
    10.5.1 ¸ð³ªµå·Î std::optional
    10.5.2 ¸ð³ªµå·Î expected
    10.5.3 try ¸ð³ªµå
    10.6 ¸ð³ªµå·Î »óÅ ó¸®
    10.7 º´Ç༺°ú ¿¬¼Ó ¸ð³ªµå
    10.7.1 ¸ð³ªµå·Î¼­ÀÇ Ç»Ã³
    10.7.2 ǻó ±¸Çö
    10.8 ¸ð³ªµå °áÇÕ
    ¿ä¾à

    11Àå. ÅÛÇø´ ¸ÞŸÇÁ·Î±×·¡¹Ö

    11.1 ÄÄÆÄÀÏ ½ÃÁ¡¿¡ À¯Çü Á¶ÀÛ
    11.1.1 Ãß·ÐµÈ À¯Çü µð¹ö±ë
    11.1.2 ÄÄÆÄÀÏ µ¿¾ÈÀÇ ÆÐÅÏ ÀÏÄ¡
    11.1.3 À¯Çü¿¡ °üÇÑ ¸ÞŸÁ¤º¸ Á¦°ø
    11.2 ÄÄÆÄÀÏ ½ÃÁ¡¿¡ À¯Çü ¼Ó¼º °Ë»ç
    11.3 Ä¿¸® ÇÔ¼ö ¸¸µé±â
    11.3.1 ¸ðµç È£Ãâ °¡´ÉÇÑ °ÍÀ» È£Ãâ
    11.4 DSL ±¸Ãà ºí·Ï
    ¿ä¾à

    12Àå. º´Ç༺ ½Ã½ºÅÛÀ» À§ÇÑ ÇÔ¼öÀû ¼³°è

    12.1 ¾×ÅÍ ¸ðµ¨: ±¸¼º ¿ä¼Ò·Î »ç°í
    12.2 °£´ÜÇÑ ¸Þ½ÃÁö ¼Ò½º ¸¸µé±â
    12.3 ¹ÝÀÀÇü ½ºÆ®¸²À» ¸ð³ªµå·Î ¸ðµ¨¸µ
    12.3.1 ¸Þ½ÃÁö¸¦ ¹Þ±â À§ÇÑ ½ÌÅ© ¸¸µé±â
    12.3.2 ¹ÝÀÀÇü ½ºÆ®¸² º¯È¯
    12.3.3 ÁÖ¾îÁø °ª¿¡ ´ëÇØ ½ºÆ®¸² ¸¸µé±â
    12.3.4 ½ºÆ®¸²ÀÇ ½ºÆ®¸²À» Á¶ÀÎ
    12.4 ¹ÝÀÀÇü ½ºÆ®¸² ÇÊÅ͸µ
    12.5 ¹ÝÀÀÇü ½ºÆ®¸²¿¡¼­ÀÇ ¿À·ù ó¸®
    12.6 Ŭ¶óÀ̾ðÆ®¿¡ ÀÀ´ä
    12.7 °¡º¯ »óÅ·Π¾×ÅÍ ¸¸µé±â
    12.8 ¾×ÅÍ·Î ºÐ»ê ½Ã½ºÅÛ ÀÛ¼º
    ¿ä¾à

    13Àå. Å×½ºÆ®¿Í µð¹ö±ë

    13.1 ÄÄÆÄÀÏÇÏ´Â ÇÁ·Î±×·¥ÀÌ ¿Ã¹Ù¸¥°¡?
    13.2 ´ÜÀ§ Å×½ºÆ®¿Í ¼ø¼ö ÇÔ¼ö
    13.3 Å×½ºÆ® ÀÚµ¿ »ý¼º
    13.3.1 Å×½ºÆ® »ç·Ê ¸¸µé±â
    13.3.2 ¼Ó¼º ±â¹ÝÀÇ Å×½ºÆ®
    13.3.3 ºñ±³ Å×½ºÆ®
    13.4 ¸ð³ªµå ±â¹ÝÀÇ º´Ç༺ ½Ã½ºÅÛ Å×½ºÆ®
    ¿ä¾à

    ¹è¼Û ½Ã À¯ÀÇ»çÇ×

    - ¹Ýµð¾Ø·ç´Ï½º¿¡¼­ ±¸¸ÅÇϽŠµµ¼­´Â ¹°·ù ´ëÇà À§Å¹¾÷ü ¿õÁø ºÏ¼¾À» ÅëÇØ ¹è¼ÛµË´Ï´Ù.
     (¹è¼Û Æ÷Àå¿¡ "¿õÁø ºÏ¼¾"À¸·Î Ç¥±âµÉ ¼ö ÀÖ½À´Ï´Ù.)

    - ±¸¸ÅÇÑ »óÇ°ÀÇ Ç°Áú°ú ¹è¼Û °ü·Ã ¹®ÀÇ´Â ¹Ýµð¾Ø·ç´Ï½º·Î ¹®ÀÇ ¹Ù¶ø´Ï´Ù.

    - õÀçÁöº¯ ¹× Åùè»çÀÇ »çÁ¤¿¡ µû¶ó ¹è¼ÛÀÌ Áö¿¬µÉ ¼ö ÀÖ½À´Ï´Ù.

    - °áÁ¦(ÀÔ±Ý) ¿Ï·á ÈÄ ÃâÆÇ»ç ¹× À¯Åë»çÀÇ »çÁ¤À¸·Î Ç°Àý ¶Ç´Â ÀýÆÇ µÇ¾î »óÇ° ±¸ÀÔÀÌ ¾î·Á¿ï ¼ö ÀÖ½À´Ï´Ù. (º°µµ ¾È³» ¿¹Á¤)

    - µµ¼­»ê°£Áö¿ªÀÇ °æ¿ì Ãß°¡ ¹è¼Ûºñ°¡ ¹ß»ýµÉ ¼ö ÀÖ½À´Ï´Ù.

    ¹ÝÇ°/±³È¯

    »óÇ° ¼³¸í¿¡ ¹ÝÇ°/ ±³È¯ °ü·ÃÇÑ ¾È³»°¡ ÀÖ´Â °æ¿ì ±× ³»¿ëÀ» ¿ì¼±À¸·Î ÇÕ´Ï´Ù. (¾÷ü »çÁ¤¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù)

    ¹ÝÇ°/±³È¯

    ¹ÝÇ°/±³È¯
    ¹ÝÇ°/±³È¯ ¹æ¹ý Ȩ > °í°´¼¾ÅÍ > ÀÚÁÖã´ÂÁú¹® ¡°¹ÝÇ°/±³È¯/ȯºÒ¡± ¾È³» Âü°í ¶Ç´Â 1:1»ó´ã°Ô½ÃÆÇ
    ¹ÝÇ°/±³È¯ °¡´É ±â°£ ¹ÝÇ°,±³È¯Àº ¹è¼Û¿Ï·á ÈÄ 7ÀÏ À̳», »óÇ°ÀÇ °áÇÔ ¹× °è¾à³»¿ë°ú ´Ù¸¦ °æ¿ì ¹®Á¦¹ß°ß ÈÄ 30ÀÏ À̳»¿¡ ½Åû°¡´É
    ¹ÝÇ°/±³È¯ ºñ¿ë º¯½É ȤÀº ±¸¸ÅÂø¿ÀÀÇ °æ¿ì¿¡¸¸ ¹Ý¼Û·á °í°´ ºÎ´ã(º°µµ ÁöÁ¤ Åùè»ç ¾øÀ½)
    ¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯
    • ¼ÒºñÀÚÀÇ Ã¥ÀÓ »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
    • ¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    • º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì : ¿¹)¸¸È­Ã¥, ÀâÁö, È­º¸Áý µî
    • ½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    • ÀüÀÚ»ó°Å·¡µî¿¡¼­ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì
    • ÇØ¿ÜÁÖ¹® »óÇ°(ÇØ¿Ü ¿ø¼­)ÀÇ °æ¿ì(Æĺ»/ÈѼÕ/¿À¹ß¼Û »óÇ°À» Á¦¿Ü)
    ¼ÒºñÀÚ ÇÇÇغ¸»ó
    ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó
    • »óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ¹ÝÇ°, ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº
      ¼ÒºñÀÚ ºÐÀïÇØ°á ±âÁØ(°øÁ¤°Å·¡À§¿øȸ°í½Ã)¿¡ ÁØÇÏ¿© 󸮵Ê
    • ´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ
      ¼ÒºñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ
    ¹ÝÇ°/±³È¯ ÁÖ¼Ò °æ±âµµ ÆÄÁֽà ¹®¹ß·Î 77, ¿õÁøºÏ¼¾(¹Ýµð¾Ø·ç´Ï½º)
    • ȸ»ç¸í : (ÁÖ)¼­¿ï¹®°í
    • ´ëÇ¥ÀÌ»ç : ±èÈ«±¸
    • °³ÀÎÁ¤º¸ º¸È£Ã¥ÀÓÀÚ : ±èÈ«±¸
    • E-mail : bandi_cs@bnl.co.kr
    • ¼ÒÀçÁö : (06168) ¼­¿ï °­³²±¸ »ï¼º·Î 96±æ 6
    • »ç¾÷ÀÚ µî·Ï¹øÈ£ : 120-81-02543
    • Åë½ÅÆǸž÷ ½Å°í¹øÈ£ : Á¦2023-¼­¿ï°­³²-03728È£
    • ¹°·ù¼¾ÅÍ : (10881) °æ±âµµ ÆÄÁֽà ¹®¹ß·Î 77 ¹Ýµð¾Ø·ç´Ï½º
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved