Effective/Effective C++

[EC++] 1. C++를 언어들의 연합체로 바라보는 안목은 필수

seeyoun 2024. 11. 12. 22:13

초창기의 C++

  • 초창기 C++은 클래스가 있는 C 였음.
  • 그러나 꾸준한 성장을 거치면서 엄청나게 유연해지고 표현성이 좋아짐

 


C++을 잘 이해하려면 어떻게 해야 할까?

  • C++을 단일 언어로 바라보는 것을 넘어, 상관 관계가 있는 여러 언어들의 연합체로 바라보자.
  • C++을 구성하는 4가지 하위 언어들
    • C
      • C style의 C++ 요소들
    • 객체지향 개념의 C++
      • 클래스, 캡슐화, 상속, 다형성, 가상함수 ...
    • 템플릿 C++
      • 템플릿, 템플릿 메타프로그래밍, ...
    • STL
      • 컨테이너, 이터레이터, 알고리즘, 함수 객체 ...
  • 각 하위 언어들을 뭉쳐서 통합 언어로 만든 것이 아니라, 각 하위 언어가 자신만의 규칙을 갖고 있는 형태이다.
  • 따라서 이 중에서 어떤 부분을 사용하느냐에 따라, C++을 사용한 효과적인 프로그래밍 규칙이 달라진다.