리뷰/IT_책소개 / / 2023. 4. 24. 07:04

전문가를 위한 C++ : 한빛미디어

반응형

    전문가를 위한 C++

 

        마크 그레고리 (Marc Gregoire) 지음

        남기혁 옮김

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

책표지 포함 1688 페이지에 달하는 두꺼운 공간에 정말 많은 부분을 다루고 있는 책 입니다.

이 책은 C++ 초급, 중급 프로그래머를 주요 대상으로 하고 있지만 C++ 고급 프로그래머 분들도 읽어 본다면

컴파일러 최신 스펙에서의 변화된 모습 및 이미 알고 있던 내용이라도 다시 상기 시킬 수 있기에 좋을 것 같습니다.

 

대상 독자

C++ 초급/중급 프로그래머를 주요 대상으로 하고 있으며,

C++ 경험은 없더라도 그 외의 언어 경험이 있다면 "1장"을 통해서 충분히 기초를 다질 수 있다고 소개하고 있습니다.

[학습 준비]

이 책은 Visual Studio c++ 2019 및 gcc 를 주요 컴파일러로 채택하고 있습니다.

2023년 현재는 Visual Studio c++ 2022 , gcc 12.2 (Ubuntu 22.04 사용시 gcc 11.3 설치됨) 가 최신 버전 입니다.

책에서 명시된 컴파일러 버전이 아닌 최신버전을 사용하여도 학습하는데 특별히 문제는 없었습니다.

   [ 컴파일러 준비 ]

    * Visual Studio Community 버전 다운

      https://visualstudio.microsoft.com/ko/vs/community/

 

    * Gcc 컴파일러

      - Windows

         window 의 경우, Mingw, cygwin, msys 등이 있습니다.

         과거에는 cygwin 을 많이 사용하긴 하였지만, 최근에는 mingw 를 많이 사용하는 것 같습니다.

         아래 경로에서 다운받아서 설치 후 환경 설정을 하면 gcc 컴파일러를 window에서 사용할 수 있습니다.

         mingw 설치 및 사용에 대해서는 추후 정리 해보겠습니다.

        https://www.mingw-w64.org/downloads/

 

     - Ubuntu

       리눅스의 경우 여러 OS 가 있지만, 주로 많이 사용하는 Ubuntu 기준으로 gcc 컴파일러는 아래의 명령으로

       설치 할 수 있습니다.

       또한 디버깅 환경 설치를 위하 gdb 도 포함하여 설치 합니다.

 

        apt -y install build-essential gdb

 

[책 구성]

이 책은 처음에 얘기한 것 처럼 C++ 프로그래밍에 대한 많은 양의 주제를 다루고 있습니다.

다른 C++ 책에서와는 다르게 초급 프로그래머 부터 중-고급 프로그래머 까지 학습 할 수 있는 주제를 다루고 있다는 것이 특징 입니다.

이 책은 총 6개의 부에 부록 2개 포함하여 36개의 장으로 구성되어 있습니다.

1부에서는 C++를 처음 접하는 프로그래머를 위해 필요한 기초 문법들을 약 170 페이지에 달하는 페이지를 할애하여 C++문법 기초 부터 코드 작성 방법까지 다루고 있습니다.

C++ 문법에 대해 언어나 표준 라이브러리를 깊이 있게 학습하고자 한다면 C++ 관련 다른 문법책을 우선 학습하는 것이 좋습니다.

2부에서는 C++ 을 위한 소프트웨어 설계에 대해서 다루고 있습니다.

반듯이 책에서 설명하는 방식을 따라야 하는 것은 아니지만, 처음 C++을 이용하여 소프트웨어 개발을 시작 한다면 충분히 도움이 될 내용들 입니다.

C++에 적합한 설계 방식, 설계 재사용, 코드 재사용 관련은 읽어볼만 합니다.

그리고,  "4.6 체스 프로그램 설계"르는 예제를 통해 설계에 대한 이해를 돕고 있습니다.

3부에서는 C++ 코딩에 대해 약 820 페이지의 양을 할애하여 심도있게 다루고 있습니다.

흔히 프로그래밍 중에 어려움을 느낄수 있고 필히 고려해야할 부분들을 다루고 있습니다.

메모리 사용 및 관리, 에러처리, 포인터 관련 등은 필히 잘 학습하고 있어야 할 부분인 것 같습니다.

4부에서는 "C++ 고급기능 마스터하기" 라는 주제로 "표준 라이브러리 커스터마이즈, 고급 템플릿, 멀티스레드 프로그래밍"에 대해 다루고 있습니다.

5부에서는 "C++ 소프트웨어 공학" 이라는 주제를 다루고 있습니다.

개론적인 소프트웨어 공학과 실무를 위한 "효율적인 C++ 코드 작성법", "테스트", "디버깅", "설계 기법과 프레임워크", "디자인 패턴", "크로스 플랫폼과 크로스 언어 애플리케이션 개발 방법론" 에 대해서 다루고 있습니다.

규모가 큰 프로젝트에서 C++을 이용하여 개발한다면 꼭 필요한 내용들로 구성되어 있습니다.

6부는 부록으로, "면접 예상 질문", "참고 문헌", "표준 라이브러리와 헤더파일", "UML 기초" 에 대해서 다루고 있습니다.

면접 예상 질문 장은 면접 예상 질문 이라기 보다 학습 했던 내용에 대해서 다시 한번 생각 해보는데 이용하면 좋을 것 같습니다.

UML 기초는 UML 다이어그램 소개 정도로 보는 것이 맞을 것 같습니다.

 

[결론]

책 전반 적으로 많은 내용들을 담고 있습니다.

그러다 보니 부분 적으로는 부족한 부분들이 있긴 있습니다.

각 부분들을 학습 하면서 이론 관련은 다른 C++ 책 및 알고리즘, 객체지향 관련 책이나 자료들을 함께 학습 하면 좋을 것 같습니다.

바이블은 아니지만, 차례대로 학습하지 않아도 관심 있는 부분들 위주로 학습할 수 있도록 구성이 잘 나뉘어져 있는 책입니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

https://www.hanbit.co.kr/store/books/look.php?p_code=B5989104254 

 

전문가를 위한 C++(개정5판)

더 쉽게, 더 빠르게, 더 깔끔하게! 프로그래머가 알아야 할 C++와 C++20의 모든 것

www.hanbit.co.kr

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유