|
|
|
Exceptional C++ Style : 40°³ÀÇ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ÆÛÁñ°ú ¹®Á¦ ±×¸®°í ±× ÇØ´ä
|
 |
|
¤ýÀú ÀÚ |
Herb Sutter
|
¤ý¿ª ÀÚ |
·ù±¤
|
¤ý±¸ ºÐ |
¹ø¿ª¼
|
¤ý¹ßÇàÀÏ |
2005³â 04¿ù 26ÀÏ |
¤ýÁ¤ °¡ |
16,000¿ø |
¤ýÆäÀÌÁö |
393 ÆäÀÌÁö |
¤ýISBN |
89-5674-261-8 |
¤ý³À̵µ |
Áß±Þ.»ó±Þ |
¤ýÃâÆÇ»ç |
Á¤º¸¹®È»ç |
|
|
|
|
|
|
|
 |
 |
¼ÒÇÁÆ®¿þ¾î "½ºÅ¸ÀÏ"Àº Ãß°¡ºÎ´ã°ú ±â´É¼º, ¿ì¾ÆÇÔ°ú À¯Áöº¸¼ö¼º, À¯¿¬¼º°ú °ú´ÙÇÑ ¼³°è »çÀÌÀÇ ¿Ïº®ÇÑ ±ÕÇüÁ¡À» ã´Â µ¥ ´ëÇÑ °ÍÀÌ´Ù.
ÀÌ Ã¥ 'Exceptional C++ Style'¿¡¼ Àü¼³ÀûÀÎ C++ º£Å×¶û Herb Sutter´Â, ´Ù¾çÇÑ Áú¹®µé¿¡ ´ëÇÑ ´äÀ» '¹«¾ù' »Ó¸¸ ¾Æ´Ï¶ó '¿Ö'±îÁöµµ ºÐ¼®ÇÔÀ¸·Î½á µ¶ÀÚ°¡ ¼ÒÇÁÆ®¿þ¾î¿¡¼ Á¤È®ÇÑ ±ÕÇüÁ¡À» ã´Â µ¥ µµ¿òÀÌ µÇµµ·Ï °í¾ÈµÈ 40°³ÀÇ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ½Ã³ª¸®¿ÀµéÀ» Á¦½ÃÇÑ´Ù.
½ÇÁúÀûÀÎ Áú¹®µé°ú ÇØ´äµé·Î ±¸¼ºµÈ ÀÌ Ã¥Àº ÇʼöÀûÀÎ C++ ¼¼ºÎ »çÇ×°ú ±× »óÈ£°ü°è¿¡ ´ëÇÑ »õ·Î¿î ÅëÂûÀ» Á¦°øÇϸç, ÀϹÝÀû ÇÁ·Î±×·¡¹Ö, STL, ¿¹¿Ü ¾ÈÀü¼º µî ¿À´Ã³¯ÀÇ C++ ÇÁ·Î±×·¡¹Ö ÇÙ½É ±â¹ýµé¿¡ ´ëÇÑ »õ·Î¿î Àü·«À» Á¦½ÃÇÑ´Ù.
ÀÌ Ã¥¿¡ Æ÷ÇԵǴ ³»¿ë ¶óÀ̺귯¸® ¼³°è¿¡ ´ëÇØ, STL ÀÚü¿¡¼ ¹è¿ï ¼ö ÀÖ´Â °ÍµéÀº ¹«¾ùÀϱî? ÅÛÇø´ ÇüÅÂÀÇ ÄÚµåÀÇ ÀϹݼºÀ» ºÒÇÊ¿äÇÏ°Ô Á¦ÇÑÇÏ´Â ÀÏÀÌ ¾øµµ·Ï ÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î? ÇÔ¼ö ÅÛÇø´À» Ư¼öÈÇÒ ¼ö ¾ø´Â ÀÌÀ¯´Â ¹«¾ùÀϱî? ±× ´ë½Å ÇÒ ¼ö ÀÖ´Â ÀÏÀº ¹«¾ùÀϱî? ¿¹¿Ü ¾ÈÀü¼ºÀÌ ´Ü¼øÈ÷ try¿Í catch ¹®À» Àß ÀÛ¼ºÇÏ´Â ¹®Á¦Àϱî? ¿¹¿Ü ¸í¼¼¸¦ »ç¿ëÇØ¾ß ÇÒ±î ¸»¾Æ¾ß ÇÒ±î? Ŭ·¡½ºÀÇ private ºÎºÐÀ» ¾ðÁ¦, ¾î¶»°Ô ³ëÃâÇÒ ¼ö ÀÖÀ»±î? Ŭ·¡½ºµéÀ» º¯È¿¡ Á» ´õ Àß ´ëÀÀÇÏ°Ô ¸¸µé·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î? Ç¥ÁØ ÄÁÅ×À̳ʵéÀÇ ½ÇÁúÀûÀÎ ¸Þ¸ð¸® ºñ¿ëÀº ¾î¶°ÇѰ¡? const¸¦ »ç¿ëÇϸé Äڵ尡 Á¤¸»·Î ÃÖÀûȵɱî? inlineÀÌ ¼º´É¿¡ ¾î¶»°Ô ¿µÇâÀ» ¹ÌÄ¥±î? À߸øµÇ¾î º¸ÀÌ´Â Äڵ尡 ½ÇÁ¦·Î´Â ¿Ïº®ÇÏ°Ô ÄÄÆÄÀÏµÇ°í ½ÇÇàµÇ´Â ¶§´Â ¾ðÁ¦À̸ç, ±×·± °æ¿ì¸¦ ½Å°æ½á¾ß ÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀϱî? std::stringÀÇ ¼³°è°¡ °¡Áø ¹®Á¦Á¡Àº ¹«¾ùÀϱî?
'Exceptional C++ Style'Àº µ¶ÀÚ°¡ C++ ¼ÒÇÁÆ®¿þ¾î¸¦ ½ºÅ¸ÀÏÀ» °¡Áö°í ¼³°è, ±¸Ãà, ÄÚµùÇÏ´Â µ¥ µµ¿òÀ» Áִ åÀÌ´Ù. ÀÌ Ã¥À» ÅëÇØ¼ µ¶ÀÚ´Â C++ ¼ÒÇÁÆ®¿þ¾î¸¦ Á» ´õ °ß°íÇϰí È¿À²ÀûÀ¸·Î ¸¸µå´Â µ¥ ÇÊ¿äÇÑ ÁöÇý¿Í Áö½ÄÀ» ¾òÀ» °ÍÀÌ´Ù.
[ÀúÀÚ ¼Ò°³] Herb Sutter´Â ¸¹Àº °¥Ã¤¸¦ ¹ÞÀº µÎ ±ÇÀÇ Ã¥ 'Exceptioanl C++'¿Í 'More Exceptional C++'ÀÇ ÀúÀÚÀ̸ç, ¶ÇÇÑ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ´ëÇÑ ¼ö¹é °³ÀÇ ±â¼ú ±â»ç¿Í ³í¹®µéÀ» ½è´Ù. ÀÌ Ã¥ ´ÙÀ½À¸·Î´Â ±×ÀÇ ³× ¹øÂ° Addison-Wesley Ã¥ÀÎ 'C++ ÄÚµùÀÇ Á¤¼®'(Andrei Alexandrescu¿Í °øÀú)ÀÌ Ãâ°£µÇ¾î ÀÖ´Ù. ±×´Â ISO C++ Ç¥ÁØ À§¿øÈ¸ÀÇ ÀÇÀåÀ» ¸Ã°í ÀÖÀ¸¸ç, C/C++ Users JournalÀÇ ±â°íÀÚÀÌÀÚ Ä÷³¸®½ºÆ®·Îµµ Ȱµ¿Çϸç, MicrosoftÀÇ Visual C++ ¾ÆÅ°ÅØÆ®·Î¼ .NET ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ C++ ¾ð¾î È®Àå(C++/CLI)ÀÇ ¼³°è¸¦ À̲ø°í ÀÖ´Ù. |
|
 |
 |
C++ÀÇ ¼¼°è´Â ±í°íµµ ³Ð½À´Ï´Ù. ÀúÀÚ Çãºê ¼ÅÍ´Â C++ ¼¼°èÀÇ ÇѰè¿Í ¹üÀ§¸¦ ²÷ÀÓ¾øÀÌ ½ÃÇèÇÏ°í ±«·ÓÇô¿Â(!) »ç¶÷ÀÔ´Ï´Ù. ±×´Â ÇÑÆíÀ¸·Î´Â C++ Ç¥ÁØ À§¿øÈ¸¿Í C++ °øµ¿Ã¼ÀÇ ÁÖ¿ä Àι°·Î¼ C++ Ç¥ÁØÀÇ Æ² ¾È¿¡¼ ¾ð¾î¸¦ ´õ¿í ´Ùµë°í, ¶Ç ÇÑÆíÀ¸·Î´Â MicrosoftÀÇ Visual C++ ¾ÆÅ°ÅØÆ®·Î¼ Ç¥ÁØÀÇ Æ²À» ¶Ù¾î³Ñ´Â ¼ÒÀ§ C++/CLIÀÇ ¼³°è¸¦ À̲ø°í ÀÖ½À´Ï´Ù. ÀüÀÛ 'Exceptional C++'¿Í 'More Exceptional C++'ÀÇ ¿¬Àå¼±»ó¿¡ ÀÖ´Â ÀÌ Ã¥¿¡´Â, ±×·± ÀúÀÚÀÇ Ç³ºÎÇÑ °æÇè°ú Ä¡¿ÇÑ °í¹ÎÀÌ ³ì¾Æµé¾î ÀÖ½À´Ï´Ù.
C++¸¦ ´çÀå ¾÷¹«¿¡ ÇÊ¿äÇÑ ¸¸Å¸¸ ¹è¿ì°í »ç¿ëÇÏ´Â µ¶ÀÚ¶ó¸é, ÀÌ Ã¥ÀÌ C++ ¾ð¾îÀÇ »ç¼ÒÇÏ°í ±â¹¦ÇÑ ºÎºÐ¿¡¸¸ ³Ê¹« ÁýÂøÇÏ´Â °Ô ¾Æ´Ñ°¡ ÇÏ´Â ´À³¦ÀÌ µé ¼öµµ ÀÖ°Ú½À´Ï´Ù. ±×·¯³ª Á» ´õ C++´Ù¿î Äڵ带 Ãß±¸Çϸç ÀÚ½ÅÀÇ ÄÚµù Ç¥Çö·ÂÀ» °³¼±ÇϰíÀÚ ³ë·ÂÇØ¿Â µ¶ÀÚ¶ó¸é, ±×µ¿¾È °¡·Á¿ü´ø ºÎºÐÀ» ±Ü¾îÁÖ´Â °¡Ä¡ÀÖ´Â ÁöÇý¿Í Á¶¾ðÀ» Ã¥ÀÇ °÷°÷¿¡¼ ¹ß°ßÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
¹ø¿ª¿¡ ´ëÇØ ¾ð±ÞÇÏÀÚ¸é, ´ç¿¬ÇÑ ÀÏÀ̰ÚÁö¸¸ ¹«¾ùº¸´Ùµµ ¿À¿ªÀÌ »ý±âÁö ¾Êµµ·Ï ÇÏ´Â µ¥ ÀÏÂ÷ÀûÀÎ ³ë·ÂÀ» ±â¿ï¿´½À´Ï´Ù. ±×¿Í ÇÔ²², ÁÁ°Ô ¸»Çϸé Àç±â ³ÑÄ¡°í ³ª»Ú°Ô ¸»ÇÏ¸é ¼ö´Ù½º·´°í ¾ÇÃë¹ÌÀÎ ÀúÀÚÀÇ ¹®Ã¼¸¦ ÃÖ´ëÇÑ °£°áÇÏ°í °ÇÁ¶ÇÑ ¹®Ã¼·Î ¹Ù²Ù·Á°í ³ë·ÂÇß½À´Ï´Ù. °³ÀÎÀûÀ¸·Î Á¦°¡ ¼ÒÀ§ ¾Æ¸Þ¸®Ä Á¶Å©¶ó´Â °Í¿¡ ½Éµå··ÇÑ °Íµµ ÇÑ ÀÌÀ¯¿´Áö¸¸, ±âº»ÀûÀ¸·Î´Â Ã¥ÀÇ ¼ö¸íÀ» ´Ã¸®·Á´Â °ÍÀ̾ú½À´Ï´Ù. ÀÌ Ã¥ÀÇ ±Ûµé Áß¿¡´Â À¥»çÀÌÆ®³ª ¿Â¶óÀÎ/¿ÀÇÁ¶óÀÎ ÀâÁö¿¡ ½Ç¸° °ÍµéÀÌ ¸¹Àºµ¥, ±×·± ¸Åü¿¡ ÀûÇÕÇÑ ¹®Ã¼¿Í µÎ°íµÎ°í ÀÐÈú ´ÜÇົ¿¡ ÀûÇÕÇÑ ¹®Ã¼´Â ´Ù¸£´Ù°í ÆÇ´ÜÇß½À´Ï´Ù. Ȥ½Ã¶óµµ ¹º°¡ Àç¹ÌÀÖ´Â °ÍÀ» ¿øÇϽŴٸé, Ã¥À» Àá½Ã µ¤°í À¥¿¡ ÀÖ´Â ¸¸È³ª À¯¸Ó¸¦ ã¾Æº¸´Â °Ô ´õ È¿°úÀûÀÏ °ÍÀÔ´Ï´Ù. |
|
|
 |
 |
"Infobook-C++ in Depth" °ü·Ãµµ¼´Â ÃÑ 11±Ç ÀÔ´Ï´Ù. |
- Accelerated C++ : ¿¹Á¦·Î ¹è¿ì´Â ÁøÂ¥¹è±â C++ ÇÁ·Î±×·¡¹Ö
|
- Essential(¿¡¼¾¼È) C++
|
- C++ Template Metaprogramming : Boost·ÎºÎÅÍ ¹è¿ì´Â °³³ä, µµ±¸, ±â¹ý
|
- C++ ÄÚµùÀÇ Á¤¼® : 101°¡Áö ±ÔÄ¢, °¡À̵å¶óÀÎ, ÁÁÀº ½À°üµé
|
- Exceptional C++ Style : 40°³ÀÇ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ÆÛÁñ°ú ¹®Á¦ ±×¸®°í ±× ÇØ´ä
|
- C++ Network Programming Volume 2 : ACE¿Í ÇÁ·¹ÀÓ¿öÅ©¸¦ ÀÌ¿ëÇÑ Ã¼°èÀûÀÎ Àç»ç¿ë ±â¹ý
|
- Applied C++ : Çâ»óµÈ ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇϱâ À§ÇÑ ½Ç¿ëÀûÀÎ ±â¼ú
|
- Á¦³×¸¯ ÇÁ·Î±×·¡¹Ö°ú µðÀÚÀÎ ÆÐÅÏÀ» Àû¿ëÇÑ Modern C++ Design
|
- Exceptional C++ : C++ ÇÁ·Î±×·¡¸Ó¸¦ ÀÚ±ØÇÏ´Â 47°³ÀÇ Àç¹ÌÀÖ´Â ÆÛÁñ ¹®Á¦
|
- C++ Network Programming Volume 1 : ACE¿Í ÆÐÅÏÀ» »ç¿ëÇÑ °´Ã¼ÁöÇâ ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö
|
- Essential(¿¡¼¾¼È) C++
|
|
|
 |
|
|