01: C++를 언어들의 연합체로 바라보는 안목은 필수
C++은 다준패러다임 프로그래밍 언어이다. C++을 단일 언어로 바로보는 눈을 넓혀, 상관관계가 있는 여러 언어들의 연합체로 보는 것이 중요하다.
- C
- C++은 여전히 C를 기본으로 하고 있다. 블록, 문장, 선행 처리자, 기본제공 데이터 타입, 배열, 포인터 등 대부분이 C에서 넘어왔다.
- 객체 지향 개념의 C++
- 클래스를 쓰는 C에 관한 것 모두이다. 클래스(생성자와 소멸자), 캡슐화, 상속, 다형성, 가상 함수(동적 바인딩) 등
- 템플릿 C++
- 템플릿 메타프로그래밍이라는 새로운 패러다임이 생길 정도로 템플릿은 강력하다.
- STL
- 컨테이너, 반복자, 알고리즘과 함수 객체와 같은 템플릿 라이브러리
이렇게 C++은 네 가지의 하위 언어들로 이루어져 있고, 각각의 언어들이 쓰이는 상황에서 최선의 방법을 사용하는 것이 좋다.
이것만은 잊지 말자!
- C++를 사용한 효과적인 프로그래밍 규칙은 경우에 따라 달라진다. 그 경우란, 바로 C++의 어떤 부분을 사용하느냐이다.
'C++ > Effective C++' 카테고리의 다른 글
[Effective C++] 06: 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해 버리자 (0) | 2023.10.02 |
---|---|
[Effective C++] 05: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 (1) | 2023.10.02 |
[Effective C++] 04: 객체를 사용하기 전에 반드시 그 객체를 초기화하자 (0) | 2023.09.30 |
[Effective C++] 03: 낌새만 보이면 const를 들이대 보자! (0) | 2023.09.28 |
[Effective C++] 02: #define을 쓰려거든 const, enum, inline을 떠올리자 (0) | 2023.09.28 |