C++ ÇÁ·Î±×·¡¸Ó°¡ ¾Ë¾Æ¾ß ÇÒ, C++ Ç¥ÁØ ¶óÀ̺귯¸®. C++ Ç¥ÁØ ¶óÀ̺귯¸®¿¡ ´ëÇØ ¹Ýµå½Ã ¾Ë¾Æ¾ß ÇÒ »çÇ×À» °£°áÇÏ°Ô ¼³¸íÇß´Ù. ¾î¶² ¶óÀ̺귯¸®°¡ ÀÖ´ÂÁö ¼Ò°³ÇÏ°í, ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö, ¾î¶² °æ¿ì¿¡ »ç¿ëÇϸé ÁÁÀºÁö, ¼º´ÉÀº ¾î¶²Áö¸¦ ¹è¿î´Ù. »ç¿ë¹ýÀº ¹°·Ð, »ç¿ëÇÒ ¶§ ÁÖÀÇÇÒ Á¡°ú ÆÁÀÌ °÷°÷¿¡ Á¦½ÃµÇ¾î ÀÖ´Ù.
ÀÌ Ã¥Àº C++¿¡ Àͼ÷ÇÑ °³¹ßÀÚ¸¦ À§ÇÑ °ÍÀ¸·Î, ¸¸¾à C++¿¡ Àͼ÷ÇÏÁö ¾Ê´Ù¸é C++ÀÇ ±âº»À» ÇнÀÇÑ µÚ¿¡ ÀÌ Ã¥À» ÆîÄ¡±â ¹Ù¶õ´Ù. ±×·¯¸é ÀÌ Ã¥ÀÇ ³»¿ëÀ» ÈξÀ ´õ Àß ÀÌÇØÇÏ°í, Àß È°¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶ÇÇÑ, À̷аú ½Ç½ÀÀ» °áÇÕÇÏ¿© ÃÖ´ëÇÑ È°¿ëÇÒ ¼ö ÀÖµµ·Ï ÄÚµå ¿¹Á¦¸¦ ¸¹ÀÌ Á¦½ÃÇß´Ù.
1999³âºÎÅÍ ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØÆ®ÀÌÀÚ ÆÀ ¸®´õÀÌÀÚ °»ç·Î ÀÏÇÏ°í ÀÖ´Ù. 2002³â¿¡´Â »ç³» ½ÉÈ °Á¸¦ °³¼³ÇÏ°í ÆÄÀ̽ã°ú C++¸¦ °ÀÇÇß´Ù. 2016³âºÎÅÍ´Â ¸ð´ø C++¿Í ÆÄÀ̽㿡 ´ëÇÑ ¼¼¹Ì³ª¿Í °ÀǸ¦ ¿°í ÀÖ´Ù. ¿©°¡ ½Ã°£¿¡´Â C++, ÆÄÀ̽ã, ÇϽºÄÌ ÇÁ·Î±×·¡¹ÖÀ» Áñ±â¸ç ÄÁÆÛ·±½º¿¡¼ ¹ßÇ¥ÇÏ´Â °ÍÀ» ÁÁ¾ÆÇÑ´Ù. ¸ÅÁÖ ºí·Î±×¿¡ ±ÛÀ» ¿Ã¸®°í ÀÖ´Ù. ¿À¶óÀϸ®¿¡¼ µ¶ÀϾî·Î ¡ºC++ Standardbibliothek¡», ¡ºC++ fur Programmierer¡», ¡ºC++ kurz & gut¡» µîÀ» Ãâ°£Çß°í, ¿µ¾î·Î´Â ¡ºC++20: Get the Details¡» µîÀ» Ãâ°£Çß´Ù.
1Àå Ç¥ÁØ ¶óÀ̺귯¸®
__1.1 ¿ª»ç
__1.2 °³¿ä
____1.2.1 À¯Æ¿¸®Æ¼
____1.2.2 Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®
____1.2.3 ¼öÄ¡ ¿¬»ê
____1.2.4 ÅؽºÆ® ó¸®
____1.2.5 ÀԷ°ú Ãâ·Â
____1.2.6 ¸ÖƼ½º·¹µù
__1.3 ¶óÀ̺귯¸® È°¿ë
____1.3.1 Çì´õ ÆÄÀÏ ÀÎŬ·çµåÇϱâ
____1.3.2 ³×ÀÓ½ºÆäÀ̽º ÁöÁ¤Çϱâ
____1.3.3 ½ÇÇà ÆÄÀÏ »ý¼ºÇϱâ
2Àå À¯Æ¿¸®Æ¼
__2.1 À¯¿ëÇÑ ÇÔ¼öµé
____2.1.1 std::min, std::max, std::minmax
____2.1.2 std::move
____2.1.3 std::forward
____2.1.4 std::swap
__2.2 ÇÔ¼ö ¾î´ðÅÍ
____2.2.1 std::bind
____2.2.2 std::function
__2.3 Æä¾î
____2.3.1 std::make_pair
__2.4 Æ©ÇÃ
____2.4.1 std::make_tuple
____2.4.2 std::tie¿Í std::ignore
__2.5 ·¹ÆÛ·±½º ·¡ÆÛ
____2.5.1 std::ref¿Í std::cref
__2.6 ½º¸¶Æ® Æ÷ÀÎÅÍ
____2.6.1 std::unique_ptr
____2.6.2 std::shared_ptr
____2.6.3 std::weak_ptr
____2.6.4 ¼øȯ ÂüÁ¶
__2.7 ŸÀÔ Æ®·¹ÀÌÆ®
____2.7.1 ŸÀÔ Á¤º¸ °Ë»ç
____2.7.2 ±âº» ŸÀÔ Ä«Å×°í¸®
____2.7.3 º¹ÇÕ Å¸ÀÔ Ä«Å×°í¸®
____2.7.4 ŸÀÔ ¼Ó¼º
____2.7.5 ŸÀÔ ºñ±³
____2.7.6 ŸÀÔ ¼öÁ¤
__2.8 ½Ã°£ ¶óÀ̺귯¸®
____2.8.1 ½ÃÁ¡
____2.8.2 ±â°£
____2.8.3 Ŭ·°
__2.9 std::any, std::optional, std::variant
____2.9.1 std::any
____2.9.2 std::optional
____2.9.3 std::variant
3Àå ÄÁÅ×ÀÌ³Ê ÀÎÅÍÆäÀ̽º
__3.1 »ý¼º°ú »èÁ¦
__3.2 Å©±â
__3.3 Á¢±Ù
__3.4 ´ëÀÔ°ú ¸Â¹Ù²Ù±â
__3.5 ºñ±³
4Àå ¼øÂ÷ ÄÁÅ×À̳Ê
__4.1 ¹è¿
__4.2 º¤ÅÍ
____4.2.1 Å©±â vs. ¿ë·®
__4.3 µ¦
__4.4 ¸®½ºÆ®
__4.5 Æ÷¿öµå ¸®½ºÆ®
5Àå ¿¬°ü ÄÁÅ×À̳Ê
__5.1 °³¿ä
____5.1.1 ¿ø¼ÒÀÇ Ãß°¡¿Í »èÁ¦
__5.2 Á¤·Ä ¿¬°ü ÄÁÅ×À̳Ê
____5.2.1 °³¿ä
____5.2.2 Å°¿Í °ª
____5.2.3 ºñ±³ ±âÁØ
____5.2.4 Ž»ö ÇÔ¼ö
____5.2.5 std::map
__5.3 ºñÁ¤·Ä ¿¬°ü ÄÁÅ×À̳Ê
____5.3.1 °³¿ä
____5.3.2 Å°¿Í °ª
____5.3.3 ¼º´É
____5.3.4 Çؽà ÇÔ¼ö
____5.3.5 ¼¼ºÎ »çÇ×
6Àå ÄÁÅ×ÀÌ³Ê ¾î´ðÅÍ
__6.1 ½ºÅÃ
__6.2 ť
__6.3 ¿ì¼±¼øÀ§ Å¥
7Àå ¹Ýº¹ÀÚ
__7.1 Ä«Å×°í¸®
__7.2 ¹Ýº¹ÀÚ ¸¸µé±â
__7.3 À¯¿ëÇÑ ÇÔ¼ö
__7.4 ¾î´ðÅÍ
____7.4.1 Ãß°¡ ¹Ýº¹ÀÚ
____7.4.2 ½ºÆ®¸² ¹Ýº¹ÀÚ
8Àå ÄÝ·¯ºí
__8.1 ÇÔ¼ö
__8.2 ÇÔ¼ö ¿ÀºêÁ§Æ®
____8.2.1 ¹Ì¸® Á¤ÀÇµÈ ÇÔ¼ö ¿ÀºêÁ§Æ®
__8.3 ¶÷´Ù ÇÔ¼ö
9Àå ¾Ë°í¸®Áò
__9.1 »ç¿ë¹ý
__9.2 ¹Ýº¹ÀÚ
__9.3 ¼øÂ÷, º´·Ä ½ÇÇà ¶Ç´Â º¤ÅÍȸ¦ Àû¿ëÇÑ º´·Ä ½ÇÇà
____9.3.1 ½ÇÇà Á¤Ã¥
____9.3.2 º´·Ä ½ÇÇàÀ» Áö¿øÇÏ´Â ¾Ë°í¸®Áò
__9.4 for_each
__9.5 ¿ø¼Ò¸¦ ¼öÁ¤ÇÏÁö ¾Ê´Â ¾Ë°í¸®Áò
____9.5.1 ¿ø¼Ò Ž»ö
____9.5.2 ¿ø¼Ò °³¼ö ¼¼±â
____9.5.3 ¹üÀ§¿¡ ´ëÇÑ Á¶°Ç °Ë»çÇϱâ
____9.5.4 ¹üÀ§ ºñ±³
____9.5.5 ¹üÀ§ Ž»öÇϱâ
__9.6 ¿ø¼Ò¸¦ ¼öÁ¤ÇÏ´Â ¾Ë°í¸®Áò
____9.6.1 ¿ø¼Ò¿Í ¹üÀ§ º¹Á¦Çϱâ
____9.6.2 ¿ø¼Ò¿Í ¹üÀ§ ±³Ã¼Çϱâ
____9.6.3 ¿ø¼Ò¿Í ¹üÀ§ Á¦°ÅÇϱâ
____9.6.4 ¹üÀ§ ä¿ì°í »ý¼ºÇϱâ
____9.6.5 ¹üÀ§ ¿Å±â±â
____9.6.6 ¹üÀ§ ¸Â¹Ù²Ù±â
____9.6.7 ¹üÀ§ º¯È¯Çϱâ
____9.6.8 ¹üÀ§ ¼ø¼ ¹Ù²Ù±â
____9.6.9 ¹üÀ§ ȸÀü½ÃÅ°±â
____9.6.10 ¹üÀ§ ¹«ÀÛÀ§·Î ¼¯±â
____9.6.11 Áߺ¹ Á¦°ÅÇϱâ
__9.7 ºÐÇÒ
__9.8 Á¤·Ä
__9.9 ÀÌÁø Ž»ö
__9.10 ÇÕº´ ¿¬»ê
__9.11 Èü
__9.12 ÃÖ´ë ÃÖ¼Ò
__9.13 ¼ø¿
__9.14 ¼öÄ¡ ¾Ë°í¸®Áò
__9.15 C++17ºÎÅÍ Ãß°¡µÈ ¾Ë°í¸®Áò
__9.16 C++20ºÎÅÍ Ãß°¡µÈ ¾Ë°í¸®Áò
10Àå ¼öÇÐ
__10.1 ¹«ÀÛÀ§¼ö
____10.1.1 ¹«ÀÛÀ§¼ö »ý¼º±â
____10.1.2 ¹«ÀÛÀ§¼ö ºÐÆ÷
__10.2 C¿¡¼ ¹°·Á¹ÞÀº ¼öÇÐ ÇÔ¼ö
11Àå ½ºÆ®¸µ
__11.1 »ý¼º°ú »èÁ¦
__11.2 C++ ½ºÆ®¸µ°ú C ½ºÆ®¸µ °£ º¯È¯
__11.3 Å©±â vs. ¿ë·®
__11.4 ºñ±³
__11.5 ½ºÆ®¸µ °áÇÕ
__11.6 ¿ø¼Ò Á¢±Ù
__11.7 ÀԷ°ú Ãâ·Â
__11.8 Ž»ö
__11.9 ¼öÁ¤ ¿¬»ê
__11.10 ¼ýÀÚ º¯È¯
12Àå ½ºÆ®¸µ ºä
__12.1 »ý¼º°ú ÃʱâÈ
__12.2 ºñ¼öÁ¤ ¿¬»ê
__12.3 ¼öÁ¤ ¿¬»ê
13Àå Á¤±Ô Ç¥Çö½Ä
__13.1 ¹®ÀÚ Å¸ÀÔ
__13.2 Á¤±Ô Ç¥Çö½Ä ¿ÀºêÁ§Æ®
__13.3 °Ë»ö °á°ú - match_results
____13.3.1 std::sub_match
__13.4 ¸ÅÄ¡
__13.5 °Ë»ö
__13.6 ±³Ã¼
__13.7 Æ÷¸Ë
__13.8 ¹Ýº¹ °Ë»ö
____13.8.1 std::regex_iterator
____13.8.2 std::regex_token_iterator
14Àå ÀÔ·Â ½ºÆ®¸²°ú Ãâ·Â ½ºÆ®¸²
__14.1 °èÃþ ±¸Á¶
__14.2 ÀÔ·Â ÇÔ¼ö¿Í Ãâ·Â ÇÔ¼ö
____14.2.1 ÀÔ·Â
____14.2.2 Æ÷¸Ë ºñÁöÁ¤ ÀÔ·Â
____14.2.3 Ãâ·Â
____14.2.4 Æ÷¸Ë ÁöÁ¤ÀÚ
__14.3 ½ºÆ®¸²
____14.3.1 ½ºÆ®¸µ ½ºÆ®¸²
____14.3.2 ÆÄÀÏ ½ºÆ®¸²
____14.3.3 ½ºÆ®¸² »óÅÂ
__14.4 »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍ Å¸ÀÔ
15Àå ÆÄÀÏ ½Ã½ºÅÛ ¶óÀ̺귯¸®
__15.1 Ŭ·¡½º
____15.1.1 ÆÄÀÏÀÇ Á¢±Ù ±ÇÇÑ Á¶ÀÛÇϱâ
__15.2 ºñ¸â¹ö ÇÔ¼ö
____15.2.1 ÆÄÀÏÀ» ¸¶Áö¸·À¸·Î ¾´ ½Ã°¢À» Àаųª ¼³Á¤Çϱâ
____15.2.2 ÆÄÀÏ ½Ã½ºÅÛ °ø°£ Á¤º¸ ¾Ë¾Æ³»±â
__15.3 ÆÄÀÏ Å¸ÀÔ
____15.3.1 ÆÄÀÏ Å¸ÀÔ ¾Ë¾Æ³»±â
16Àå ¸ÖƼ½º·¹µù
__16.1 ¸Þ¸ð¸® ¸ðµ¨
__16.2 ¾îÅä¹Í µ¥ÀÌÅÍ Å¸ÀÔ
__16.3 ½º·¹µå
____16.3.1 »ý¼º
____16.3.2 ¼ö¸í
____16.3.3 Àμö
____16.3.4 ¿¬»ê
__16.4 °øÀ¯ º¯¼ö
____16.4.1 µ¥ÀÌÅÍ °æÀï
____16.4.2 ¹ÂÅؽº
____16.4.3 µ¥µå¶ô
____16.4.4 ¶ô
____16.4.5 std::shared_lock
____16.4.6 ½º·¹µå¿¡ ¾ÈÀüÇÑ ÃʱâÈ
__16.5 ½º·¹µå ·ÎÄà µ¥ÀÌÅÍ
__16.6 »óÅ º¯¼ö
__16.7 ŽºÅ©
____16.7.1 ½º·¹µå vs. ŽºÅ©
____16.7.2 std::async
____16.7.3 std::packaged_task
____16.7.4 std::promise¿Í std::future