01. C++를 언어들의 연합체로 바라보는 안목은 필수
C++를 단일 언어로 바라보는 눈을 넓혀, 상관관계가 있는 여러 언어들의 연합체(federation)로 보자.
- C : C++은 C를 기본으로 하고 있다 - 객체 지향 개념의 C++ : 클래스를 쓰는 C에 관한 모든것 (클래스, 캡슐화, 상속, 다형성, 가상함수(동적 바인딩) - 템플릿 C++ - STL : 템플리 라이브러리, STL의 세계는 컨테이너(container), 반복자(iterator), 알고리즘(algorithm)과 함수객체(function object)가 만수산 드렁칡처럼 얽혀 돌아가는 것을 규약으로 삼고 있으나, 템플릿과 라이브러리는 얼마든지 다른 아이디어를 중심으로 만들어질 수 있습니다. 또한 STL은 나름대로 독특한 사용규약이 있어서, STL을 써서 프로그래밍하려면 그 규약을 따르면 됩니다. |
C++는 한 가지 프로그램이 규칙 아래 똘똘 뭉친 통합 언어(unified language)가 아니라 네가지 하위 언어들의 연합체입니다. 각각의 하위 언어가 자신만의 규칙을 갖고 있지요 "하위 언어들로 구성되어 있다" 라는 점을 꼭 새겨 두도록 하세요 일단 이렇게만 하면 C++이해의 관문에 들어서기가 대단히 쉬워질 것입니다.
이것만은 잊지 말자!
*C++를 사용한 효과적인 프로그래밍 규칙은 경우에 따라 달라집니다. 그 경우란, 바로 C++의 어떤 부분을 사용하느냐 입니다.
'C++ > Effective C++' 카테고리의 다른 글
06. 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해 버리자. (0) | 2018.01.10 |
---|---|
05. C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 (0) | 2017.12.27 |
04. 객체를 사용하기 전에 반드시 그 객체를 초기화하자 (0) | 2017.12.14 |
03. 낌새만 보이면 const를 들이대 보자!! (0) | 2017.12.05 |
02. #define을 쓰려거든 const, enum, inline을 떠올리자 (0) | 2017.12.01 |