반응형

0. 요약

  1. C++을 4가지 하위 언어의 엽합체로 이해하자!

    • C, 객체 지향 C++, 템플릿 C++, STL C++
  2. 사용자 정의 타입의 경우 상수 객체 참조자 전달을 사용하자!

    • const + &

1. C++ 역사?

  1. 초창기에는 C에 객체 지향 기능 몇가지가 결합된 형태
    • 클래스를 쓰는 C 였음
  2. 그 후 C++은 꾸준한 성장
    • 예외 : 함수 구성방식의 헤게모니를 크게 변경
    • 템플릿 : 프로그램 설계에 대한 새로운 사고 방식 제공
    • STL : 확장성에 대한 지평을 염
  3. 오늘 날의 C++
    • 다중패러다임 프로그래밍 언어(multiparadigm programming language)
    • 절차적 프로그래밍 기본 장착
    • 객체 지향 프로그래밍
    • 함수식 프로그래밍
    • 일반화 프로그래밍
    • 메타 프로그래밍

2. C++을 어떻게 이해 해야 하는가?

  1. 상관관계가 있는 여러 언어들의 연합체로 보라!
    • 여러 개의 하위 언어들이 C++을 이루고 있다!
  2. 그 후 각 언어에 대한 규칙을 각개 격파!

3. C++를 구성하는 하위 언어 4가지

  1. C
    • C++은 C를 기본으로 함(블록, 문장, 선행 처리자, 기본제공 데이터 타입, 배열, 포인터 등)
  2. 객체 지향 개념의 C++
    • 클래스를 쓰는 C에 관한 모든 것이 여기에 해당
  3. 템플릿 C++
    • C++의 일반화 프로그래밍 부분
    • 템플릿 메타프로그래밍이라는 새로운 패러다임 파생됨
  4. STL
    • 템플릿 라이브러리

4. 효과적인 프로그램 개발을 위한 예

  1. 한 하위 언어에서 다른 하위 언어로 옮길 때 당황하지 마라!
  2. C스타일
    • 값 전달이 참조 전달보다 효율이 더 좋다
  3. 객체 지향 C++ 과 템플릿 C++
    • 사용자 정의 생성자/소멸자 개념이 생김
    • 상수 객체 참조자에 의한 전달 방식이 더 효율이 좋음
  4. STL C++
    • 반복자와 함수 객체는 C의 포인터를 본떠 만든 것
    • 반복자 및 함수 객체에 대해 값 전달이 효율이 더 좋음

참고

  1. Effective C++
반응형

+ Recent posts