ÄÜÅÙÃ÷ »ó¼¼º¸±â
C++ ±âº»¿¡¼­ »ó±Þ±îÁö


C++ ±âº»¿¡¼­ »ó±Þ±îÁö

C++ ±âº»¿¡¼­ »ó±Þ±îÁö

<ÀÌÀç±¹> Àú | ÁÁÀº¶¥

Ãâ°£ÀÏ
2024-03-21
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
5 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

¢º ÀÌ Ã¥Àº C++20 ±Ô°ÝÀ» ±âÁØÀ¸·Î ±â¼úµÊ.
¢º ¹öÀüº°·Î Ãß°¡µÈ »çÇ×À» ³ªÅ¸³»±â À§ÇØ ÇØ´ç Àý¿¡ C++14, C++17 ±×¸®°í C++20À» ¸í½ÃÇÏ°í ÀÖÀ½.
¢º °³¹ß »óȲ¿¡ µû¶ó ÇØ´ç ¹öÀü¿¡ ¸Â°Ô Àû¿ë °¡´ÉÇÔ.

¢º ÁÖ¿ä ³»¿ë
?¹è¿­°ú Æ÷ÀÎÅÍ °ü°è ?ÇÔ¼ö ¹× ÄÚ·çƾ ÇÔ¼ö
?¸Þ¸ð¸® °ü¸® ?¸ðµâ(MSVC ¹× gcc)
?Ŭ·¡½º »ó¼Ó ?¿¬»êÀÚ ¿À¹ö·Îµù
?ÅÛÇø´ »ç¿ë ?ÅÛÇø´ Á¦¾àÁ¶°Ç
?ÅÛÇø´ ÆĶó¹ÌÅÍ ÆÑ ?½ºÅÄ´õµå ¶óÀ̺귯¸®: ÄܼÁÆ® ¹× ·¹ÀÎÁö


±Ô°Ý¿¡¼­´Â ¸Þ¸ð¸®¿Í °´Ã¼¿Í ¿¬°á½ÃÄѼ­ °´Ã¼(Object)ÀÇ Àǹ̸¦ ÀÏÁ¤ÀÇ ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏ´Â °ÍÀ¸·Î Á¤ÀÇÇÑ´Ù. ÀÏÁ¤ÀÇ ¸Þ¸ð¸®°¡ È®Á¤µÇ±â À§Çؼ­´Â Å©±â°¡ Á¤ÇØÁ®¾ß µÇ´Âµ¥ ÀÌ°ÍÀº ŸÀÔÀ» ÅëÇؼ­ °áÁ¤µÇ°í ŸÀÔ(Type)Àº °´Ã¼ÀÇ ÁÖ¿ä Ư¡ÀÌ µÈ´Ù.
- 1.2 º¯¼ö º»¹® Áß¿¡¼­

Æ÷ÀÎÅÍ´Â ÁÖ¼Ò ÀúÀå°ú ¾Æ¿ï·¯ Áß¿äÇÑ ±â´ÉÀ» Çϳª ´õ °¡Áö°í Àִµ¥ ÀúÀåµÈ ÁÖ¼Ò¿¡ Á¢±ÙÇÏ¿© ÇØ´ç °ªÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù. ÀÌ·± Ư¡ÀÌ Æ÷ÀÎÅÍÀÇ Çٽɿä¼ÒÀÌ´Ù. ÁÖ¼ÒÀúÀå°ú ÁÖ¼ÒÂüÁ¶ÀÇ µÎ °¡Áö Ư¼º¡¦
- 7.2 Æ÷ÀÎÅÍ º»¹® Áß¿¡¼­

ÇÔ¼ö°¡ °¡Áö´Â Àǹ̸¦ ´Þ¸® À̾߱âÇØ º¸¸é ÇÔ¼ö´Â ÀÏÁ¤ ±â´ÉÀ» ¼öÇàÇÏ´Â °ÍÀ» ÇϳªÀÇ ´ÜÀ§·Î ¸¸µé¾î °á°ú¸¦ ¸¸µé¾î ³»´Â Á¤ÇüÈ­ Ư¼ºÀ» °¡Áø´Ù. ±×¸®°í ÇÔ¼ö º»Ã¼¿¡¼­ ¿¬»ê ÀÛ¾÷ÀÌ ÀÖ´Â °æ¿ì¿¡ ÇÔ¼öÀÇ ÆĶó¹ÌÅ͸¦ »ç¿ëÇØ ÀϹÝÈ­ Ư¡µµ °®´Â´Ù.
- 9.1 ¼±¾ð ¹× Á¤ÀÇ º»¹® Áß¿¡¼­

Ŭ·¡½º(class)´Â ±âº» ŸÀÔ°ú ´Þ¸® »ç¿ëÀÚ Á¤ÀÇÇü ŸÀÔÀÌ´Ù. ¶ÇÇÑ ±¸Á¶Ã¼(struct)¿Í °ø¿ëü(union)µµ Ŭ·¡½º¿Í °°ÀÌ »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔÀÌ µÈ´Ù. ÀÌ·± ½Å±Ô ŸÀÔµéÀº Á¢±Ù Á¦¾î µî ÀϺΠ´Ù¸¥ Á¡ÀÌ ÀÖÀ» »Ó »ç¿ë ¹æ½Ä¿¡ Â÷ÀÌ°¡ °ÅÀÇ ¾ø´Ù.
- 12. Ŭ·¡½º º»¹® Áß¿¡¼­

ÀúÀÚ¼Ò°³

¼º±Õ°ü´ë Àü±â°øÇаú Á¹¾÷ ÈÄ »ï¼ºÀüÀÚ¿¡¼­ 10³â ³Ñ°Ô ÀüÀÚ Á¦Ç°ÀÇ °³¹ßÀ» ´ã´çÇß´Ù. ÇØ´ç Á¦Ç°Àº ³»Àå(Embedded) ½Ã½ºÅÛÀ» °¡Áö°í À־ ½Ã½ºÅÛ °£¿¡ Çϵå¿þ¾î ¼³°è¿Í ÁÖº¯ ÀåÄ¡ÀÇ Á¦¾î ÇÁ·Î±×·¥À» ¸Ã¾Æ¿Ô´Ù. ÁÖ¿ä ´ã´ç Á¦Ç°Àº À§¼º ¶Ç´Â ÄÉÀ̺í·Î ¿µ»ó½ÅÈ£¸¦ ¹Þ¾Æ ó¸®ÇÏ´Â µðÁöÅÐ ¹æ¼Û±â±âÀÌ´Ù. ¿©±â¼­ Á¦Ç°¿¡ žÀçµÈ ½Ç½Ã°£ OS ¹× ¸®´ª½º ±â¹ÝÇÏ¿¡ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º °ü·Ã ÇÁ·Î±×·¥°ú ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ǰú Áß°è ¿ªÇÒÀ» ÇÏ´Â ¹Ìµé¿þ¾î ¼ÒÇÁÆ®¿þ¾î¿¡ °ü·ÃÇØ ÀÏÇß´Ù.

ÀÌÈÄ¿¡ ¸ð¹ÙÀÏ ¾Û¿¡ °ü½ÉÀ» °¡Áö°í ¾Èµå·ÎÀ̵å¿Í iOS¿¡ µ¿ÀÛÇÏ´Â C++·Î °³¹ßÇÏ´Â Å©·Î½º Ç÷§ÆûÀ» ÅëÇØ ¿©·¯ À¯Æ¿ ¾ÛÀ» °³¹ßÇß°í ¿©±â¼­ °ü·Ã ±â¼úÀÎ µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ°ú ¼­¹ö °³¹ß °ü·Ã¿¡µµ °æÇèÀÌ ÀÖ´Ù. ±×¸®°í Áö±ÝÀº C++ ±â¹ÝÀÎ ¾ð¸®¾ó °ÔÀÓ ¿£ÁøÀ» ÅëÇØ ¼Ò±Ô¸ð °ÔÀÓ °³¹ß¿¡ ÁýÁßÇÏ°í ÀÖ´Ù.

¸ñÂ÷

¼­¹® 4
ÀÏ·¯µÎ±â 5



1. C++ ¼Ò°³11
1.1 ±âº»»çÇ×14
1.2 º¯¼ö21
1.3 ³×ÀÓ½ºÆäÀ̽º26


2. ¿¬»ê½Ä35
2.1 ÈÄÀ§½Ä ¿¬»ê38
2.2 ´ÜÇ× ¿¬»êÀÚ48
2.3 ÀÌÇ× ¿¬»êÀÚ51
2.4 »ïÇ× ¿¬»êÀÚ55


3. Á¶°Ç¹® ¹× ¹Ýº¹¹®57
3.1 Á¶°Ç¹®58
3.2 ¹Ýº¹¹®61


4. Àüó¸® Áö½Ã¹®65
4.1 Á¶°Ç Áö½Ã¹®66
4.2 ´ëü Áö½Ã¹®68
4.3 ÆÄÀÏ Æ÷ÇÔ Áö½Ã¹®72


5. ¿©·¯ ÁöÁ¤ÀÚµé77
5.1 ½ºÅ丮Áö ÁöÁ¤ÀÚ78
5.2 º°Äª ÁöÁ¤ÀÚ85
5.3 inline ÁöÁ¤ÀÚ87
5.4 constexpr, consteval, constinit ÁöÁ¤ÀÚ90
5.5 ŸÀÔ ÁöÁ¤ÀÚ96


6. ¿­°ÅÇü ŸÀÔ103


7. ¹è¿­, Æ÷ÀÎÅÍ, ÂüÁ¶Çü ŸÀÔ109
7.1 ¹è¿­110
7.2 Æ÷ÀÎÅÍ113
7.3 ÂüÁ¶Çü ŸÀÔ135


8. º¯¼ö ÃʱâÈ­141
8.1 ±âº» ¹× °ª ÃʱâÈ­143
8.2 ¹è¿­ ÇüÅÂÀÇ ÃʱâÈ­145


9. ÇÔ¼ö151
9.1 ¼±¾ð ¹× Á¤ÀÇ152
9.2 ÇÔ¼ö È£Ãâ157
9.3 ÆĶó¹ÌÅÍ ±âº»°ª159
9.4 ¿À¹ö·Îµù161
9.5 ¶÷´Ù(lambda) ÇÔ¼ö164
9.6 ÄÚ·çƾ (since C++20)172


10. ¸Þ¸ð¸® °ü¸®199
10.1 ¸Þ¸ð¸® ¸ÅÇÎ200
10.2 new ¿¬»êÀÚ205
10.3 delete ¿¬»êÀÚ209


11. ¸ðµâ (since C++20)211
11.1 ¸ðµâ ¼±¾ð ¹× ±¸ÇöÆÄÀÏ213
11.2 import ±¸¹®216
11.3 Àü¿ª ¸ðµâ Á¶°¢219
11.4 ¸ðµâÀ̸§219
11.5 ¸ðµâ ºÐÇÒ220
11.6 ¸ðµâ : gcc »ç¿ë221


12. Ŭ·¡½º227
12.1 Ŭ·¡½º Á¤ÀÇ228
12.2 Ŭ·¡½º »ç¿ë234
12.3 »ý¼ºÀÚ237
12.4 »ý¼ºÀÚÀÇ ÃʱâÈ­ ¸®½ºÆ®249
12.5 ¸â¹ö ÇÔ¼ö ¹× this Æ÷ÀÎÅÍ253
12.6 static µ¥ÀÌÅÍ ¸â¹ö ¹× ÇÔ¼ö260
12.7 ¼Ò¸êÀÚ262
12.8 °ø¿ëü264
12.9 ºñÆ®-Çʵå268
12.10 ¸â¹ö ÁöĪ Æ÷ÀÎÅÍ270
12.11 Áßø Ŭ·¡½º ¹× ·ÎÄà Ŭ·¡½º273
12.12 ÇÁ·»µå ÁöÁ¤ÀÚ274


13. Ŭ·¡½º »ó¼Ó279
13.1 Ŭ·¡½º È®Àå280
13.2 »ó¼ÓÀÇ ´ÙÇü¼º : ¿À¹ö¶óÀ̵ù(overriding)287
13.3 Ãß»ó Ŭ·¡½º301
13.4 ´ÙÁß »ó¼Ó303
13.5 »ó¼Ó : Á¢±Ù Á¦ÇÑÀÚ308


14. ¿¬»êÀÚ ¿À¹ö·Îµù315
14.1 ´ÜÇ× ¿¬»êÀÚ ¿À¹ö·Îµù317
14.2 ÀÌÇ× ¿¬»êÀÚ ¿À¹ö·Îµù320
14.3 new, delete ¿¬»êÀÚ ¿À¹ö·Îµù329
14.4 ÇÔ¼ö È£Ãâ ¿¬»êÀÚ ()330
14.5 ÷ÀÚ ¿¬»êÀÚ [ ]332
14.6 ¸â¹ö Á¢±Ù ¿¬»êÀÚ ->333
14.7 ŸÀÔ º¯È¯ ¿¬»êÀÚ336
14.8 »ç¿ëÀÚ Á¤ÀÇ ¸®ÅÍ·²(literal) ¿¬»êÀÚ337


15. ÅÛÇø´339
15.1 ÅÛÇø´ ÆĶó¹ÌÅÍ340
15.2 ÅÛÇø´ »ç¿ë344
15.3 Ŭ·¡½º ÅÛÇø´352
15.4 ÇÔ¼ö ÅÛÇø´371
15.5 ÅÛÇø´ ÀÎÀÚ Á¦¾à Á¶°Ç (since C++20)381
15.6 ÅÛÇø´ ÆĶó¹ÌÅÍ ÆÑ395
15.7 º¯¼ö ÅÛÇø´ ¹× º°Äª ÅÛÇø´406
15.8 À̸§ °Ë»ö408


16. ¿¹¿Ü ó¸®413
16.1 try ºí·Ï414
16.2 throw ¼ö½Ä416
16.3 ¿¹¿Ü ó¸® ÁöÁ¤ÀÚ421


17. ½ºÅÄ´õµå ÅÛÇø´ ¶óÀ̺귯¸®423
17.1 ¹Ýº¹ÀÚ(Iterators library)425
17.2 ¹®ÀÚ¿­(Strings library)444
17.3 ÄÁÅ×À̳Ê(Containers library)453
17.4 ÄܼÁÆ®(Concepts library) (since C++20)471
17.5 ·¹ÀÎÁö(Ranges library) (since C++20)478



Âü°íÀÚ·á 507
ã¾Æº¸±â 509