C++를 배워야 하는 이유
C++는 다른 언어와는 달리 하드웨어에 친화적인 프로그래밍부터 추상적인 고급 프로그래밍까지 스펙트럼이 넓다. 사용자가 정의할 수 있는 메모리 관리 같은 저수준 프로그래밍은 프로그래머가 실행 중에 실제로 일어나는 일을 이해할 수 있게 해주며 다른 언어로 된 프로그램의 동작을 이해하는 데도 도움이 된다. C++를 사용해 매우 효율적인 프로그램을 작성할 수 있다. C++를 사용하면 피나는 노력을 통해 작성한 기계어 코드와 성능 차이가 그다지 나지 않는다. 그러나 하드코어한 성능 튜닝으로 인해 시간이 약간 걸리기 때문에 표현력이 뛰어난 소프트웨어 구현에 우선 초점을 맞춰야 한다.
또한 C++는 다양한 고수준 기능들을 포함한다. 개체 지향 프로그래밍(6장), 제네릭 프로그래밍(3장), 메타 프로그래밍(5장), 동시성 프로그래밍(4.6절), 절차적 프로그래밍(1.5절)과 같은 다양한 프로그래밍 패러다임을 제공한다.
RAII(2.4.2.1절), 표현식 템플릿(5.3절)과 같은 몇 가지 프로그래밍 기법은 C++에서 사용하고자 고안된 기법이다. C++ 언어는 표현력이 풍부하기 때문에 언어를 변경하지 않고 이러한 새로운 기법을 만드는 경우가 많다. 그리고 누가 알겠는가? 언젠가는 여러분이 새로운 기법을 만들지도 모른다.