메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

C++ 깊이 있게 이해하고 싶다면 강추!

lowgi***

|

2019-10-12

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

C++는 마스터하기 어렵기로 악명 높지만 풍부한 기능 덕분에 게임이나 상용 소프트웨어 애플리케이션을 개발하는 대표 언어로 자리매김했다. 숙련된 C++ 프로그래머조차 잘 모르는 고급 기능도 많이 있는데, C++17이 나온 지금이야말로 C++의 모든 기능을 살펴볼 절호의 기회다.

  • 저자 : 마크 그레고리
  • 번역 : 남기혁
  • 출간 : 2019-08-20

전문가를 위한 C++ 

 

학창 시절에 C++을 잠깐 배웠습니다. 

 

기회가 되면 다시 공부해야지 하는 생각을 불현듯 했는데요. 

 

파이선과 C++의 딥러닝 연산속도를 비교하기 위해서  책을 알아봤습니다.

 

찾은 책은 바로 '전문가를 위한 C++'입니다. 

 

처음 이 책을 본 순간 벽돌이다....

 

많은 전공 서적을 봤지만 페이지수가 2배 이상인 1400입니다.

 

엄청나게 압도적이었습니다. 

 

하지만 내용을 본 순간 생각은 달라졌습니다.

 

고급 기능들이 담겨 있는 책들이 기존에 많지 않았기 때문이죠. 

 

그럼 이 책에 대해서 짧게 정리해보도록 하겠습니다. 

 

c++.jpg

 

1) 표준화의 변화 

함수형 언어들의 대거 등장으로 기존 개발 코드들이 크게 변화하고 있습니다. 

 

이에 발맞추어 C++ 또한 표준화 작업에 들어갔는데요. 

버전 별로 차이가 있지만 최근 버전의 소스 코드들이 기존의 방식보다 줄어든 것으로 알 수 있습니다. 

 

크게 변화된 것은 표준 라이브러리에 변화입니다. 

표준 라이브러리가 변화된 것은 내부의 코드들을 전반적으로 바뀐 것이라고 볼 수 있습니다.

 

내부적(std 라이브러리)으로 문자열에 대한 포인터와 길이만 가지므로, 복사가 쉽지만 메모리에 할당이 안 됩니다.

 

향후 C++ 20은 어떠한 변화가 있을지 궁금합니다. 

 

전문가.jpg

 

 

2) C++ 병렬처리

주로 사용하는 언어가 Python입니다. 

cpython을 이용해서 병행해서 사용했지만, 생각만큼 퍼포먼스가 나오지 않았습니다. 

 

그중 찾은 방법이 C++을 활용한 병렬처리 방법인데요.

병렬 알고리즘을 바탕으로 작업을 해본 결과 C++ 단에서 작업하는 것이 빠른 것으로 확인됐습니다.

 

좀 더 소스를 다듬고 병행해서 작업하면 괜찮은 것으로 보입니다. 

 

PS.

30년이 넘은 오래된 언어 C++.

 

처음 접했을 때는 이해가 안 가서 너무 어려웠는데요. 

현업에 들어오면서 언어에 대한 이해도가 높아지면서 진입장벽을 넘어 편한 언어로 다가왔습니다. 

 

최근 표준화 과정을 거치면서 C++ 17 이전과 이후가 크게 바뀌었습니다.

 

개인적으론 현재 버전이 이해하기 쉽게 코드를 짤 수 있어서 눈에 잘 갑니다. 

단, 기존에 코드들을 어느 정도 유지보수 해야 한다는 것을 고려해야 한다는 점도 있죠. 

 

C++에 대해 좀 더 깊게 공부하고 싶은 사람들과 개발하는 분들에게 이 책을 추천해 드립니다. 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?